无法在listview中对齐文本

时间:2013-01-17 20:42:07

标签: android listview

无法将列表视图中的文本与右/左对齐。不知道该怎么做。 Android:引力似乎不起作用。

这是我的xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background= "#FFCC00"
tools:context=".MainActivity" >

<RelativeLayout
    android:layout_weight="0.5"
    android:layout_width="fill_parent"
    android:layout_height="0dip">
    <ListView
        android:id="@+id/listView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:divider="@null"
        android:dividerHeight="0dp"
        tools:listitem="@android:layout/simple_list_item_1" 
        android:background= "#FFCC00"
        android:textColor="#330033"
        android:gravity="left">

    </ListView>
</RelativeLayout>

<RelativeLayout
    android:layout_weight="9"
    android:layout_width="fill_parent"
    android:layout_height="0dip">
        <TextView
        android:id="@+id/bookMark"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:textStyle="bold"
        android:gravity="center"
        android:text="Bookmarks"
        android:textColor="#330033"
        android:background= "#CCCC99"
        android:onClick="loadBookmarks"/>
</RelativeLayout>

以下是填充listview的代码

lv = (ListView) findViewById(R.id.listView1);
    lv.setAdapter(new ArrayAdapter<String>(this,R.layout.row_listview, getResources().getStringArray(R.array.Stories)));

2 个答案:

答案 0 :(得分:0)

我相信这就是你要找的东西。

android:textAlignment="center"

同样使用android:gravity仅在总文本小于视图时才有效。所以,如果你有“包装内容”,那么我认为它不会起作用。至少就是它在网站TextView

上所说的内容

下面我添加了一个示例布局和相关代码,用于将两个文本视图对齐到行的左侧和右侧

 private ListView lv = null;
 @Override
public View onCreateView(LayoutInflater inflate, ViewGroup container,
        Bundle savedInstanceState) {
    View result = inflate.inflate(R.layout.lists_layout, container, false);
    lv = (ListView) findViewById(R.id.listView1);

    adapter = new SimpleAdapter(context, things, R.layout.rowLayout, from, to);
    lv.setAdapter(adapter);
}

listLayout.xml

<?xml version="1.0" encoding="utf-8"?>

<ListView
    android:id="@+id/listView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     >

</ListView>

rowLayout.xml

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


    <TextView
        android:id="@+id/textleft"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft = "true"
         />

    <TextView
        android:id="@+id/textright"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight = "true" />
</LinearLayout>

答案 1 :(得分:0)

您可能想要在R.layout.row_listview中更改textview中的文本。 请分享row_listview.xml中的代码,以便我们为您提供帮助。