【问题标题】:How to create a listView that draws from the bottom of the activity?如何创建从 Activity 底部绘制的 listView?
【发布时间】:2019-02-11 07:09:16
【问题描述】:

我正在创建一个应用程序,我想从底部绘制我的 listView,或者从底部绘制类似的对象并能够从其选项中进行选择。

我尝试设置 Y 位置,在 listView 设置中定义 layoutParams,使用布局重力 GravityCompact.START|Gravity.BOTTOM,stackFromBottom="true",我什至尝试预先设置我的 listView,但因为我将 listView 用于不同的具有不同数量项目的适配器大多从视图中心的某个位置开始。

我希望在与底部对齐时设法从底部绘制我的 listView,或者甚至使用 android 的不同选项从底部绘制一个包含少量可点击项目的视图。

谢谢!

【问题讨论】:

  • 你想从下到上打开列表视图吗?
  • @NileshPanchal 从底部到屏幕上的某个点,我不希望它覆盖整个视图。
  • @NileshPanchal 为什么选择 RecyclerView 而不是 ListView?它有什么区别?使用 dewbamb 的回答,我在底部工作表中使用了 ListView 并从底部绘制它。我唯一不确定的是,当我将适配器更改为具有更少或更多项目的另一个适配器时它将如何工作。通常这就是普通 ListView 损坏的时候
  • 在这里你可以找到不同之处-> stackoverflow.com/questions/26728651/recyclerview-vs-listview"

标签: java android android-listview drawerlayout


【解决方案1】:

就我理解你的问题而言。您需要实现一个底部工作表。可以从底部拉出并且可以包含列表视图。 有两种类型的底页模态和持久性了解更多请关注此link

这是您在应用中实现底部工作表所需编写的代码。

创建一个名为 BottomSheet 的 java 文件和一个名为 bottom_sheet.xml 的布局文件。

java 文件将如下所示。

public class BottomSheet extends BottomSheetDialogFragment {

AdapterMessage adapterMessage;
ArrayList<MessageModel> messageList;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.bottom_sheet, container, false);

    return view;
}
}

然后在这个文件和布局中实现你的 listView。

要调用底部工作表,您可以使用以下命令。

BottomSheet bottomSheet = new BottomSheet();
bottomSheet.show((getSupportFragmentManager() ,"bottom sheet message");

关于如何使用bottom sheet的一些正确教程

【讨论】:

  • 谢谢!!终于有一些东西了。通过使用这两个链接,我已经成功地做到了我的意图。
【解决方案2】:

我猜您的列表视图中需要一个倒排列表。为此,请在您的适配器中执行此操作:

String item = getItem(getCount()-position-1);

【讨论】:

  • 具体在哪里?我在我的 listView 适配器中实现 ListAdapter。我需要使用其他东西吗?
  • 在您的适配器 getView 方法中
猜你喜欢
  • 1970-01-01
  • 2015-09-23
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多