我有我的布局xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/titlename"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/HostName"
android:layout_weight="0"
/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
/>
</LinearLayout>
当我执行上面的操作时,我的输出如下:
但我的要求是得到我的输出:
| text1: text2 |
有人可以帮忙吗?
答案 0 :(得分:18)
使用以下代码
已更新:
<?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:orientation="horizontal"
android:weightSum="1" >
<TextView
android:id="@+id/titlename"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="center"
android:text="hi" />
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="center"
android:text="2hi2" />
</LinearLayout>
答案 1 :(得分:2)
让android:layout_width为0dp。然后为每个文本视图设置0.5个权重。每个textview将填充父布局的一半宽度。类似的东西:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/titlename"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/HostName"
android:layout_weight="0.5"
/>
<TextView
android:id="@+id/name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
/>
</LinearLayout>
答案 2 :(得分:0)
我会取出weight
属性。这是我唯一能看到的就是搞砸了。另请注意,fill_parent
已弃用,您应使用match_parent
代替
或者,如果您出于某种原因需要weight
,那么如果您希望它们分别占据屏幕的一半,则将每个更改为1.
此外,如果使用weight
,则应设置android:layout_width="0dp"
答案 3 :(得分:0)
为LinearLayout设置android:orientation="horizontal"
。
答案 4 :(得分:0)
如下所示更新布局,除非在父LinearLayout上设置weightSum,否则不希望包含weight = 0属性。加上重量和重量太大并不适合你想要的东西。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/titlename"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/HostName"
/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
答案 5 :(得分:0)
您可以尝试使用RelativeLayout
通过它,您可以在titlename元素设置alignParentTop="true"
并在名称元素处设置名称alignTo="@id/titlename"
和toRightOf="@id/titlename"
答案 6 :(得分:0)
实际上你的原始代码在我的ADT中完美运行。您是否更改了更新第二个textview的Java代码中的文本大小或行填充?
答案 7 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/titlename"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/HostName"
/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
答案 8 :(得分:0)
在TextView名称中添加:android:layout_toRightOf="@+id/titlename"
并将layout_marginLeft
更改为所需的值。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/titlename"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/HostName"
android:layout_marginLeft="50dp"
android:layout_weight="0"/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/titlename"
android:layout_marginLeft="50dp"
android:layout_weight="0"/>
</LinearLayout>
与您的演出相同:“