我按照以下方式编写XML,list_item2包含TextView和EditText,而list_item是另一个只包含TextView的XML,
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/textItem"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</EditText>
我在ListView中使用xml,例如
public View getView(int position, View convertView, ViewGroup parent) {
View row;
if(position!=2) {
LayoutInflater inflater = getLayoutInflater();
row = inflater.inflate(R.layout.list_item, parent, false);
}
else {
LayoutInflater inflater = getLayoutInflater();
row = inflater.inflate(R.layout.list_item2, parent, false);
}
TextView tv = (TextView) row.findViewById(R.id.textItem);
tv.setText(getItem(position));
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
但它正在创建类似
的输出 TextView
EditText
我想要同一行,例如
TextView EditText
任何人都可以编辑XML并告诉我在Android应用中创建GUI的层次结构
答案 0 :(得分:11)
将EditText
和TextView
置于LinearLayout
水平方向(默认情况下已应用)并设置layout_weight = 1
或其他任何内容{{1} }和EditText
TextView
答案 1 :(得分:2)
使用以下布局
<?xml version="1.0" encoding="utf-8"?
<LinearLayout
android:id="@+id/lnrTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView android:id="@+id/textItem"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weight="1"
android:textSize="16sp" >
</TextView>
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:weight="1"
android:layout_height="wrap_content" >
</EditText>
</LinearLayout>
答案 2 :(得分:1)
添加一个父布局将一个LinearLayout称为xml,如下所示:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView android:id="@+id/textItem"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</EditText>
</LinearLayout>
答案 3 :(得分:1)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="center"
android:padding="10dp">
<TextView android:id="@+id/textItem"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</EditText>
</LinearLayout>
答案 4 :(得分:0)
许多应用程序今天采用了很好的快速解决方案, 将此标记添加到TextView
android:ellipsize="end"
android:maxLines="1"
现在你的textview是一行,最后有三个点。