如何从一侧水平定位TextView的宽度的某个百分比?

时间:2014-07-29 00:54:03

标签: android android-layout

我试图将TextView的中心设置为距其父版面左侧宽度的25%。

现在看来是这样的:

(A)

------------------------------------------
|             Text                       | 
------------------------------------------
          ^          ^          ^         
         25%        50%        75% 

以下是我喜欢的内容:

(B)

------------------------------------------
|        Text                            |
------------------------------------------
          ^          ^          ^         
         25%        50%        75% 

以下是我现在生成的代码(A):

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="1"
    android:layout_gravity="center"
    android:gravity="center_vertical|center_horizontal" >

    <LinearLayout 
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.5">

        <TextView 
            android:id="@+id/textView"      
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center_horizontal"
            android:textSize="16sp"
            android:text="text" />

    </LinearLayout>

</LinearLayout>

以下是现在的截图:

actionbar with textview

更新了截图:

enter image description here

2 个答案:

答案 0 :(得分:1)

您需要移除外部gravity的{​​{1}}和layout_gravity以及内部LinearLayout,您需要将LinearLayout设置为{{1} } gravity right为25%

<强>样品:

编辑:

layout_weight

答案 1 :(得分:1)

尝试我的代码伙伴,我认为这就是你想要的

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="1"
     >
    <TextView 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:gravity="center"
        android:text="text"
        />
</LinearLayout>