android listview项目高度

ole*_*egi 51 android listview row android-arrayadapter simplecursoradapter

为什么当我使用SimpleCursorAdapter for ListView时,我在ListView中有像这样的项高度 - 列表视图图像

(我的代码基于)

但是当使用数组Listview项目有很大的高度

listview大

(我基于学习listview )

项目列表视图的行布局是

<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/text1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是为什么使用ArrayAdapter和SimpleCursorAdapter时行高的差异?

Bam*_*boo 133

  android:textAppearance="?android:attr/textAppearanceLarge" 
Run Code Online (Sandbox Code Playgroud)

似乎没有效果.

  android:minHeight="?android:attr/listPreferredItemHeight" 
Run Code Online (Sandbox Code Playgroud)

改变了我的身高


小智 35

我的诀窍不是设置高度 - 而是设置minHeight.这必须应用于自定义适配器用于呈现每一行的任何布局的根视图.


afo*_*tad 10

您需要在列表项布局上使用填充,以便在项的边缘添加空格(仅增加字体大小不会这样做).

<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/text1"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:padding="8dp" />
Run Code Online (Sandbox Code Playgroud)


omn*_*ius 5

我做了类似的事情:

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

    View view = super.getView(position, convertView, parent);

    TextView textView = (TextView) view.findViewById(android.R.id.text1);
    textView.setHeight(30);
    textView.setMinimumHeight(30);

    /*YOUR CHOICE OF COLOR*/
    textView.setTextColor(Color.BLACK);

    return view;
}
Run Code Online (Sandbox Code Playgroud)

您必须将两个字段都放入 textView.setHeight(30); textView.setMinimumHeight(30); 否则它不会改变任何事情。对我来说它有效并且我遇到了同样的问题。