我有一个GridView,文本单元格总是垂直填充, 除了一些奇怪的原因,属性Refer,可能是RDA或AI,仅在RDA,AI看起来不可见时显示(我的表 Refer 中的表没有空单元格)。
请参阅此屏幕截图以便更好地理解
使用此方法填充GridView
private void populateGrid(){
Cursor c = dba.getNutriData():
startManagingCursor(c);
String[] from = new String[] { dba.Nutrient, dba.Intake, dba.Limit, dba.Refer};
int[] to = new int[] { R.id.txtNutrient, R.id.txtIntake, R.id.txtLimit, R.id.txtRefer};
SimpleCursorAdapter sca = new SimpleCursorAdapter(this, R.layout.grid_row, c, from, to);
grid.setAdapter(sca);
}
我使用这个GridView布局
<GridView
android:id="@+id/tabellaDieta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="false"
android:gravity="start"
android:numColumns="1"
android:scrollingCache="true"
android:stretchMode="columnWidth"
android:textAlignment="textStart" >
</GridView>
这是gridrow布局
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TableRow android:layout_gravity="left">
<TextView
android:id="@+id/colNome"
android:layout_width="50px"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:gravity="left|start"
android:padding="5px"
android:textColor="@color/white"
android:textSize="12dp" />
<TextView
android:id="@+id/colDose"
android:layout_width="50px"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:gravity="left|start"
android:padding="5px"
android:textColor="@color/greenlight"
android:textSize="12dp" >
</TextView>
<TextView
android:id="@+id/colLimite"
android:layout_width="50px"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:gravity="left|start"
android:padding="5px"
android:textColor="@color/orange"
android:textSize="12dp" />
<TextView
android:id="@+id/colRiferimento"
android:layout_width="50px"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:gravity="left|start"
android:padding="5px"
android:textColor="@color/light_sky"
android:textSize="12dp" >
</TextView>
</TableRow>
</TableLayout>
答案 0 :(得分:4)
此android:layout_weight="1"
和此行android:padding="5px"
以及此行android:numColumns="1"
的值非常关键。
删除weight
和padding
行并增加columns
此外,您已将textView
的宽度android:layout_width="50px"
固定为WrapContent