【问题标题】:android TextView setGravity doesn't work for certain versionsandroid TextView setGravity 不适用于某些版本
【发布时间】:2013-01-25 19:14:28
【问题描述】:

在 textView 上设置重力不适用于我的 Galaxy 2 2.3.3,但适用于我的 Galaxy Note 2.3.6。有人知道为什么吗?
TextView xml 定义:

<LinearLayout
    android:screenOrientation="portrait"
    android:background="@drawable/w_5"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:layout_gravity="center_horizontal" android:gravity="center_horizontal"
    android:orientation="vertical">

    <TextView android:id="@+id/activities"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_weight="1"
        android:freezesText="true"
        android:textSize="20dip"
        android:scrollbars="vertical"
        android:layout_marginTop="15dp"
        android:layout_marginLeft="15dp"
        android:layout_marginBottom="15dp"
        android:layout_marginRight="15dp" >
        <requestFocus />
    </TextView>
    <Button android:id="@+id/takeAPicture" 
        style="@style/ActionButton"
        android:text="@string/takeAPicture"
        android:background="@drawable/custom_button" />  
    <Button android:id="@+id/googleMaps" 
        style="@style/ActionButton"
        android:text="@string/googleMaps"
        android:background="@drawable/custom_button"  />
    <Button android:id="@+id/navigateThere" 
        style="@style/ActionButton"
        android:text="@string/navigateThere"
        android:background="@drawable/custom_button"  />
</LinearLayout>

然后,从 Java 设置重力:

mActivitiesText = (TextView) findViewById(R.id.activities);
mActivitiesText.setGravity(Gravity.RIGHT);

谢谢!!!

【问题讨论】:

    标签: android textview gravity


    【解决方案1】:

    如参考页中所见:http://developer.android.com/reference/android/view/Gravity.htmlgravity is added in API lvl 1,表示所有的android设备都支持这个属性,无论如何,你可以将它添加到XML中,有:

    <TextView android:id="@+id/activities"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:layout_weight="1"
            android:freezesText="true"
            android:textSize="20dip"
            android:scrollbars="vertical"
            android:layout_marginTop="15dp"
            android:layout_marginLeft="15dp"
            android:layout_marginBottom="15dp"
            android:layout_marginRight="15dp" 
            android:gravity="right">
            <requestFocus />
        </TextView>
    

    【讨论】:

    • 你能分享更多你的代码吗?具体来说,在 xml 中也显示容器,以及 MainActivity 的 OnCreate 块。
    • 我认为 onCreate 与此无关。我更新了 xml
    【解决方案2】:

    为什么不试试

    <TextView android:id="@+id/activities"
        ...
        android:gravity="right" >
        ...
    </TextView>
    

    你想要的效果是什么?您在 TextView 上设置了 layout_width="fill_parent",这可能是问题的一部分。

    【讨论】:

    • 你建议用什么来代替 layout_width?
    • 如果您想让文本在其父对象内向右浮动,请尝试 layout_width="wrap_content"android:gravity="right"
    • 真的,你需要编辑你的问题,达到你想要的效果。
    猜你喜欢
    • 2014-07-19
    • 2023-02-05
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    相关资源
    最近更新 更多