我正在设计如下布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/messageText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Some really long text asd asd asd asd asd asd asd asd asd asd asd![enter image description here][1]" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12:45 PM" />
</LinearLayout>
它提供了如上所述的UI ...
哪个是我需要的完美。由于方向是水平的,因此不会将Button推离屏幕,因此长文本正在被正确包裹。按钮也没有伸展。
但如果文字很小。看起来像这样
我想要的是按钮应该与文本的左端对齐,如下所示
我知道我将布局权重设为1.
在为按钮提供所需空间后消耗整个区域。
如果我不这样做。并使宽度成为包装内容。它适用于短文本。但随着文本的增长。
它将按钮推离屏幕。
这就是问题所在。 希望我让我的问题足够描述。但当然很长时间阅读。痛苦当然。 但是真的很高兴知道任何指针。
我也不愿意使用相对布局。
任何帮助将不胜感激。
由于
答案 0 :(得分:5)
希望这适合你。请试试这个:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/messageText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Some really long text asd asd asd asd asd asd asd asd asd asd asd![enter image description here][1]" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12:45 PM" />
我认为您需要将 android:layout_width =“fill_parent”的linearlayout更改为 android:layout_width =“wrap_content”
答案 1 :(得分:1)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/messageText"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:text="Some really long text asd asd asd asd asd asd asd asd asd asd asd![enter image description here][1]" />
<Button
android:id="@+id/button1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="12:45 PM" />
答案 2 :(得分:0)
我在我的设备上测试它并且工作正常。试试吧
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="1" >
<TextView
android:id="@+id/messageText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="sdgdsgdhdhdfhdhgfffffffffffffffffffffffffffffffffffffffff" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12:45 PM" />
</LinearLayout>