LinearLayout中TextView位置错误

时间:2019-01-10 12:38:29

标签: android android-layout

我在LinearLayout中有两个TextView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/left_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Yes"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/right_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Very long long long long long text"
        android:textColor="#000000" />

</LinearLayout>

它看起来像这样:enter image description here

如果我删除android:gravity="center",看起来不错。但是我需要使用它。如何解决?

4 个答案:

答案 0 :(得分:4)

  

LinearLayout中TextView位置错误

您需要在android:gravity="center"

中设置 LinearLayout

示例代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/feedback_binary_left_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Yes"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/feedback_binary_right_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:includeFontPadding="false"
        android:text="Very long long long long long text"
        android:textColor="#000000" />

</LinearLayout>

输出

enter image description here

如果要显示所有文本,也请选中此项

答案 1 :(得分:1)

尝试一下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center">

    <TextView
        android:id="@+id/left_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Yes"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/right_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Very long long long long long text"
        android:textColor="#000000" />

</LinearLayout>

我将android:gravity="center"添加到了父LinearLayout

答案 2 :(得分:0)

我建议您在using namespace boost::units; namespace my_units { typedef metric::hour_base_unit::unit_type hour_unit; typedef kilometer_base_unit::unit_type kilometer_unit; typedef divide_typeof_helper<kilometer_unit, hour_unit>::type km_per_hour_unit; } 中使用weight_sum,然后使用LinearLayout width和height,而不要同时给match_parent赋予EditText值或更大,或者更少,取决于您想要的文本。

答案 3 :(得分:-1)

尝试一下-

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_margin="16dp">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:text="@string/yes"
            android:textSize="18sp"
            android:layout_margin="10dp"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="@string/very_long_text"
            android:textSize="18sp"
            android:layout_margin="10dp"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />


    </LinearLayout>

</LinearLayout>