Android LinearLayout 宽度
Android LinearLayout width
我有 speechbubbles,其中有两个 TextView。第一个 Textview 是消息,第二个是发送消息的时间。
第二个文本视图的布局宽度基于消息的宽度,以便将时间向左或向右对齐。如果短消息用户看不到时间完成。
这是正确的(如果消息不短):
Hello!
00:00
这是短消息:
Hel
00
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gravity"
android:gravity="right"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="5dip"
android:paddingTop="8dp"
android:paddingBottom="11dp"
android:paddingLeft="9dp"
android:background="@drawable/speechbubble" >
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/singleMessageTime"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/message" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
怎么了?
我不确定你为什么需要 3 个嵌套线性布局,我认为这应该可以完成你想要做的事情。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gravity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:orientation="vertical"
android:layout_margin="5dip"
android:paddingTop="8dp"
android:paddingBottom="11dp"
android:paddingLeft="9dp"
android:background="@drawable/speechbubble">
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello!" />
<TextView
android:id="@+id/singleMessageTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00:00" />
</LinearLayout>
只需将 minwidth 或 minEMS 设置为控制整个布局大小的 textview
android:minWidth="40dp"
或
android:minEms="3"
我有 speechbubbles,其中有两个 TextView。第一个 Textview 是消息,第二个是发送消息的时间。
第二个文本视图的布局宽度基于消息的宽度,以便将时间向左或向右对齐。如果短消息用户看不到时间完成。
这是正确的(如果消息不短):
Hello!
00:00
这是短消息:
Hel
00
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gravity"
android:gravity="right"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="5dip"
android:paddingTop="8dp"
android:paddingBottom="11dp"
android:paddingLeft="9dp"
android:background="@drawable/speechbubble" >
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/singleMessageTime"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/message" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
怎么了?
我不确定你为什么需要 3 个嵌套线性布局,我认为这应该可以完成你想要做的事情。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gravity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:orientation="vertical"
android:layout_margin="5dip"
android:paddingTop="8dp"
android:paddingBottom="11dp"
android:paddingLeft="9dp"
android:background="@drawable/speechbubble">
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello!" />
<TextView
android:id="@+id/singleMessageTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00:00" />
</LinearLayout>
只需将 minwidth 或 minEMS 设置为控制整个布局大小的 textview
android:minWidth="40dp"
或
android:minEms="3"