【发布时间】:2016-06-30 03:01:01
【问题描述】:
我正在开发数独应用程序。布局是 9x9 GridView。每个 GridView 包含 9 个由 customAdapter 提供的 Textview。我想让 9 个 TextView 填充每个 GridView 的高度。怎么样?
这就是我现在拥有的
这是我的GridAdapter:
public class myGridAdapter extends BaseAdapter {
private Context context;
private String[] mobileValues;
public myGridAdapter(MainActivity mainActivity, String[] arrayEmpty) {
this.context = mainActivity;
this.mobileValues = arrayEmpty;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(context);
// get layout from text_item.xml
gridView = inflater.inflate(R.layout.text_item, null);
// set value into textview
TextView textView = (TextView) gridView
.findViewById(R.id.grid_item_label);
textView.setText(mobileValues[position]);
} else {
gridView = (View) convertView;
}
return gridView;
}
.....
}
这是每个文本项的 XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/grid_item_label"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:background="@drawable/cell_shape"
android:text="@string/_1"
tools:ignore="InefficientWeight"
android:textSize="12sp" >
</TextView>
</LinearLayout>
这是每个 TextView 的形状
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<solid android:color="#FFFFFF"/>
<stroke android:width="1dp" android:color="#777777" />
</shape>
我希望我的 Gridview 像这样
应用 bakriOnFire 的第一个答案后
【问题讨论】:
-
你的 GridView 的 LayoutParams 是什么。你是否将它的宽度和高度设置为 match_parent?
-
@bakriOnFire 我不以编程方式编辑 LayoutParams,我只依赖 XML 文件中的参数
-
yes..hav u 将其宽度和高度设置为 xml 中 GridView 的 match_parent ..
-
您希望我修改哪个 XML 字段和哪个项目的高度和宽度? @bakriOnFire
-
@bakriOnFire Gridview 已经填充了父级,因为它的背景颜色(深灰色)正在拉伸到最后,如您所见。浅灰色是外部布局的背景色
标签: android android-layout android-gridview