我想在布局中使用表格行上的两个元素。 EditText和ImageButton。 这是我的代码:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:shrinkColumns="*"
android:stretchColumns="*"
android:background="#ffffff"
tools:context=".CustomMainActivity" >
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center_horizontal"
android:background="#b6006a">
<ImageView
android:id="@+id/ImageView1"
android:src="@drawable/icon"
android:layout_weight="1"
android:padding="10dip"
android:adjustViewBounds="true"
android:layout_width="70dp"
android:layout_height="70dp"
android:scaleType="fitXY"
android:gravity="right"/>
<TextView
android:id="@+id/TextView1"
android:layout_weight="1"
android:textSize="18dp"
android:text="Nava Messenger"
android:padding="10dip"
android:background="#b6006a"
android:textColor="#fff"
android:gravity="left"/>
</TableRow>
<TableRow
android:id="@+id/tableRow0"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView
android:id="@+id/TextViewSender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18dp"
android:layout_span="3"
android:maxLines="1"
android:background="#fff"
android:textColor="#000"/>
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView
android:id="@+id/TextView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18dp"
android:layout_span="3"
android:maxLines="4"
android:padding="18dip"
android:background="#fff"
android:textColor="#000"/>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center_horizontal">
<EditText
android:id="@+id/EditText1"
android:layout_weight="3"
android:inputType="textCapWords"
android:layout_width="0dp"
android:ellipsize="start"
android:gravity="center"
android:hint="Write a message..."
android:textColor="#000000" />
<ImageButton
android:id="@+id/ImageButton1"
android:layout_weight="1"
android:layout_width="0dp"
android:adjustViewBounds="true"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/send_now"
android:gravity="right"/>
</TableRow>
</TableLayout>
但结果与我之前的想法不同。以下是此代码在不同手机上的两个输出:
我想要的只是限制EditText和ImageButton在单行上。
答案 0 :(得分:1)
如下所示更改ImageButton。
<ImageButton
android:id="@+id/ImageButton1"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/send_now"
android:layout_gravity="right|center_vertical"/>
答案 1 :(得分:0)
您可以使用属性填充顶部到图像按钮 的即强>
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center_horizontal">
<EditText
android:id="@+id/EditText1"
android:layout_weight="3"
android:inputType="textCapWords"
android:layout_width="0dp"
android:ellipsize="start"
android:gravity="center"
android:hint="Write a message..."
android:textColor="#000000" />
<ImageButton
android:id="@+id/ImageButton1"
android:paddingTop="5dp"
android:layout_weight="1"
android:layout_width="0dp"
android:adjustViewBounds="true"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/send_now"
android:gravity="right"/>
</TableRow>