我在TextView
中有一个ListView
。我正在尝试根据相应的文本更改textview
的对齐方式。但它没有用。
由于
if (stringItem != null) {
TextView messageText = (TextView) view.findViewById(R.id.list_item_text_view);
if (mine==0)
messageText.setGravity(Gravity.RIGHT);
if (mine==1)
messageText.setGravity(Gravity.LEFT);
messageText.setText(stringItem);
}
我的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_item"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:orientation="vertical" >
<TextView
android:id="@+id/list_item_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:background="@drawable/self_textview"
android:textSize="20sp" />
</LinearLayout>
* 编辑:* 我知道如何从xml
文件更改它,但如何从代码中更改它?
android:layout_gravity="right"
答案 0 :(得分:1)
将textview宽度设置为match_parent,Gravity设置视图内部布局的方式,因此如果将textview的宽度设置为列表视图项宽度,然后设置textview的重力,则会将实际文本对齐。
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/list_item_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:background="@drawable/self_textview"
android:textSize="20sp" />
</LinearLayout>
我还注意到你在线性布局上设置了重力。我不会尝试混合重力和layout_gravity只是坚持一个。您也可以通过设置线性布局的重力而不是文本视图来获得所需的效果
答案 1 :(得分:0)
我能够通过更改layoutParams
的{{1}}并更改其linearlayout
,然后将其设置为gravity
来实现目标。
textview
会将textview的引力更改为右。