LinearLayout * 元素大小
我有一个 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="wrap_content" >
<ImageView
android:id="@+id/image1"
android:layout_width="50dp"
android:layout_height="120dp"
android:layout_gravity="center_vertical" />
<ImageView
android:id="@+id/image2"
android:layout_width="263dp"
android:layout_height="150dp"
android:layout_gravity="center_vertical" />
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:paddingRight="5dip"
android:textColor="#ffffffff"
android:textSize="13sp" />
</LinearLayout>
现在我想反转它,有另一个看起来像的视图比如:
[ 文本占用剩余空间 ] [ 固定图像大小 ] [ 固定图像大小 ]
所以我自然地做了一件显而易见的事情:
<?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="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:paddingRight="5dip"
android:textColor="#ffffffff"
android:textSize="13sp" />
<ImageView
android:id="@+id/image1"
android:layout_width="50dp"
android:layout_height="120dp"
android:layout_gravity="center_vertical" />
<ImageView
android:id="@+id/image2"
android:layout_width="263dp"
android:layout_height="150dp"
android:layout_gravity="center_vertical" />
</LinearLayout>
但在这种情况下,文本只是覆盖整个宽度,因为宽度是 fill_parent 。但我不想要它要么包装内容。
有什么简单的方法可以做到这一点吗?
I have a LinearLayout that works great to produce something like:
[ fixed image size ] [ fixed image size ] [ text takes up the space that is left ]
The XML looks similar to:
<?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="wrap_content" >
<ImageView
android:id="@+id/image1"
android:layout_width="50dp"
android:layout_height="120dp"
android:layout_gravity="center_vertical" />
<ImageView
android:id="@+id/image2"
android:layout_width="263dp"
android:layout_height="150dp"
android:layout_gravity="center_vertical" />
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:paddingRight="5dip"
android:textColor="#ffffffff"
android:textSize="13sp" />
</LinearLayout>
Now I want to reverse it, have another view that looks like:
[ text takes up space that is left ] [ fixed image size ] [ fixed image size ]
So I naturally did the obvious thing which is:
<?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="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:paddingRight="5dip"
android:textColor="#ffffffff"
android:textSize="13sp" />
<ImageView
android:id="@+id/image1"
android:layout_width="50dp"
android:layout_height="120dp"
android:layout_gravity="center_vertical" />
<ImageView
android:id="@+id/image2"
android:layout_width="263dp"
android:layout_height="150dp"
android:layout_gravity="center_vertical" />
</LinearLayout>
But in this case, the text just goes over the entire width, because width is fill_parent.. but I don't want it to wrap_content either.
Is there any easy way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将textview1的宽度设置为0dp并添加layout_weight元素= 1。
Set textview1's width to 0dp and add a layout_weight element = 1.