如何在Android中将ListView文本对齐到右边?

时间:2012-02-23 19:46:05

标签: java android eclipse android-listview

我在用于显示包含字符串的ArrayList的Android应用程序中有一个列表视图,我找不到ListView的任何属性,这些属性允许我将ListView项目的文本对齐到它的右边而不是剩下。任何帮助都会很棒,谢谢。

6 个答案:

答案 0 :(得分:10)

答案取决于您如何构建列表。如果您使用标准ArrayAdapter,那么您可以使用构造函数:

ArrayAdapter<String>(Context, R.layout.aligned_right, values);

其中R.layout.aligned_right是这样的xml布局:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1" 
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"                    
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:paddingLeft="6dip"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:gravity="right"/>

答案 1 :(得分:3)

这是因为这些参数未在ListView中定义,而是在ListAdapter中定义。为列表指定适配器时,应将其设置为返回对齐右侧项目的布局。

答案 2 :(得分:1)

这应该足够了

android:layout_gravity="right" 

答案 3 :(得分:1)

将以下内容添加到布局

android:layoutDirection="rtl"

答案 4 :(得分:1)

对于可扩展列表视图,我们创建两个行XML 一个是group_row.xml,另一个是child_row.xml。

将group_row.xml设为

    describe('PUT Request & editUser() Test', function() {

        beforeEach(function() {
            $httpBackend.whenPUT('http://localhost:24149/users/:id');
        });

        it('Should do PUT request to server', function() {

            $httpBackend.expect('GET', 'http://localhost:24149/users').respond();



            $scope.usersList[0] = user;
            $scope.selectedUser = 0;

            firstName =  user.firstName;
            lastName = user.lastName;
            phone = '222-222-2222';
            email = user.email;
            _id = 0001;


            $scope.newuserEditTest = {_id, firstName, lastName, phone, email};

            $httpBackend.expect('PUT', 'http://localhost:24149/users/1').respond();


            $httpBackend.expect('GET', 'templates/userprofile.html').respond();
            $httpBackend.expect('GET', 'templates/userslist.html').respond();
            $scope.editUser($scope.newuserEditTest);

            $httpBackend.flush();

            expect($scope.usersList[0].phone).toEqual('222-222-2222');
            dump("PUT SUCCESS: " + user.firstName + "'s Phone number changed from " + user.phone + " to " + $scope.usersList[0].phone);

        });
    });

也就是说,Text视图在Relative Layout(与父级匹配)中与parentRight对齐。

经过2个小时的挣扎,我刚刚实现了这个目标。

之后的图像 enter image description here

答案 5 :(得分:-1)

注意一件小事。

如果您在listview中使用listitem,则如果listview gravity未设置为layout:width,则listitem的match_parent属性可能无效。