gpt4 book ai didi

android - 如何在屏幕上显示确切数量的 ListView 项目?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:07:47 25 4
gpt4 key购买 nike

我希望调整 ListView 中的行的大小,以便其中的 6 行正好适合屏幕。为此,我需要知道 ListView(而不是整个屏幕)有多少垂直空间可用。但是,由于尚未呈现任何 View ,因此无法在 onCreate() 中进行任何测量。

如果我在渲染后进行测量,ListView 可能会被绘制然后调整大小,这可能会分散注意力。在呈现 ListView 之前建立必要的行高的最聪明的方法是什么?

最佳答案

onCreate 中,您可以获得屏幕的高度并除以 6。现在,在您的 getView 中,您获得了每个项目的顶部布局的引用,假设您已将其命名为 root,即它是一个 LinearLayout

@Override
public View getView(int position, View convertView, ViewGroup parent) {

View view = convertView;
if(view == null){ some inflate }

LinearLayout root = (LinearLayout) view.findViewById(R.id.root);
LayoutParams lp = root.getLayoutParams();
lp.height = screenHeight/6;
root.setLayoutParams(lp);

....

return view;
}

是的,这假定 ListView 处于全屏模式。如果您有其他布局,则必须考虑这些高度。

那么你的高度将是:int heightForEachItem = (screenHeight - otherlayoutsHeightTogether)/6;

关于android - 如何在屏幕上显示确切数量的 ListView 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27528674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com