我有两个LinearLayout
一个包含一个EditText,其中patch9图像作为语音气泡,另一个包含TextView和ImageView
当我尝试输入EditText时,开始向右侧扩展,然后开始减小第二个LinearLayout的宽度(压碎图像)
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:gravity="center"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:orientation="vertical" >
<EditText
android:id="@+id/summaryMessage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/greeting_bubble_white"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical" >
<ImageView
android:id="@+id/summaryImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/picture_frame" />
<TextView
android:id="@+id/summaryText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingLeft="10dp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
看起来像这样
有什么想法吗?
答案 0 :(得分:1)
由于您已指定layout_width
的{{1}}应为“LinearLayout
”,因此您应该进行扩展,因此您应该使用dps指定固定维度,以便它不会超出范围。
替代使用wrap_content
标记
试试这个修改:
weight
但是我会建议你使用这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:gravity="center"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:layout_weight="0.7">
<EditText
android:id="@+id/summaryMessage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/greeting_bubble_white"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:gravity="right"
android:orientation="vertical" >
<ImageView
android:id="@+id/summaryImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/picture_frame" />
<TextView
android:id="@+id/summaryText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingLeft="10dp" />
</LinearLayout>
并且您在summaryText上使用复合drawable这里有一个可以帮助您的链接:Using Compund Drawables
答案 1 :(得分:0)
使用相对布局,布局编辑器实际上非常好,所以用它来定位你的视图