我正在创建一个dinamically GridVew来显示图标和一些文本。我想要至少有2列,但它显示一个列,就像ListView一样。
这是我的GridView:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridView1"
android:numColumns="2"
android:gravity="center"
android:columnWidth="100dp"
android:stretchMode="columnWidth"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</GridView>
对于每一行,我都有这种布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/row_icon"
android:layout_width="150px"
android:layout_height="150px"
android:layout_marginRight="50px"
android:src="@drawable/ic_launcher" >
</ImageView>
<TextView
android:id="@+id/row_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label"
android:textSize="10sp"
android:maxLines="2" >
</TextView>
</LinearLayout>
每行都在我的自定义ArrayAdapter中隐藏:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.row_label);
ImageView imageView = (ImageView) rowView.findViewById(R.id.row_icon);
textView.setText(values[position].getName());
asyncDownloadAndSetImage(values[position].getInfo().getThumbnail(), imageView);
return rowView;
}
试图调整布局,但它仍然只显示在这样的一列上:
答案 0 :(得分:0)
可能你的问题是
//GridView
android:columnWidth="100dp"
//ImageView
android:layout_width="150px"
android:layout_height="150px"
图像大于放入每列大小的空间。
使用
测试这些更改排。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/row_icon"
android:layout_width="100px"
android:layout_height="100px"
android:layout_marginRight="50px"
android:src="@drawable/ic_launcher" >
</ImageView>
<TextView
android:id="@+id/row_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label"
android:textSize="10sp"
android:maxLines="2" >
</TextView>
</LinearLayout>
答案 1 :(得分:0)
问题在于我的活动正在延长ListActivity
而不是Activity
,因为这是从ListView
转换而来的