[英]Android EditText sizing in a GridView
我有两个并排布局的GridView。
第一个GridView包含变量对象,在这种情况下为一些EditText,具体取决于游戏模式。
第二个GridView包含标记行的TextView。
因为我将第一个GridView用于许多不同的事情,所以我一直在以编程方式创建EditText对象。 但是,我很难使它们的大小与EditText行标记相匹配。
1)我应该在xml中构造我的EditText对象吗(如果是的话,我将其放置在哪里,必须设置哪些属性)?
2)如果以编程方式创建EditTexts没问题,如何通过代码调整它们的大小以与行号对齐?
从下面推荐的布局中加载GridView的对象后,我得到一个ClassCastException抱怨LayoutParams:
public View getView(int position, View convertView, ViewGroup parent) {
EditText textbox;
View MyView = convertView;
if (convertView == null) {
LayoutInflater li = getLayoutInflater();
MyView = li.inflate(R.layout.edittextfull, null);
textbox = (EditText) MyView.findViewById(R.id.textbox);
}
else
textbox = (EditText) convertView;
return textbox;
}
这是你的行
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="row 1"
/>
</LinearLayout>
使用xml总是更好。 所以避免务实地创建视图,直到它成为唯一方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.