关于ui的问题

时间:2016-08-10 08:58:28

标签: android android-layout-weight

查看我的屏幕截图图片,然后使用图片说明我的问题。enter image description here

以下是我的布局代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal" >

<TextView
    android:id="@+id/one"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:drawableRight="@drawable/hexun_dh6"
    android:gravity="center_vertical"
    android:text="你好" />

<TextView
    android:id="@+id/two"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:drawableRight="@drawable/hexun_dh6"
    android:gravity="center_vertical"
    android:text="你好" />

<TextView
    android:id="@+id/three"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:drawableRight="@drawable/hexun_dh6"
    android:gravity="center_vertical"
    android:text="你好" />

<TextView
    android:id="@+id/four"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:drawableRight="@drawable/hexun_dh6"
    android:gravity="center_vertical"
    android:text="你好" />

布局结果就像上面的图像一样,我怀疑为什么文本远离可绘制的,我想得到结果:enter image description here

我尝试将drawablepadding设置为小于零,但它不起作用,我该怎么做,我只想用这种方式,不想使用TextView和{{1}感谢先进。

1 个答案:

答案 0 :(得分:0)

这是另一个hacky解决方案。试试这个:)

诀窍是你放invisible View between your TextViews,你的textViews就会有简单的wrap_content作为宽度。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="horizontal">

    <View
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/big_star_orange"
        android:gravity="center"
        android:text="你好" />

    <View
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/two"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/big_star_orange"
        android:gravity="center"
        android:text="你好" />

    <View
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/three"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/big_star_orange"
        android:gravity="center"
        android:text="你好" />

    <View
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/four"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/big_star_orange"
        android:gravity="center"
        android:text="你好" />

    <View
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_weight="1" />
</LinearLayout>

之后不需要重力,只需重力中心。希望它有所帮助!

proof of code