我在用于显示包含字符串的ArrayList的Android应用程序中有一个列表视图,我找不到ListView的任何属性,这些属性允许我将ListView项目的文本对齐到它的右边而不是剩下。任何帮助都会很棒,谢谢。
答案 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个小时的挣扎,我刚刚实现了这个目标。
之后的图像
答案 5 :(得分:-1)
注意一件小事。
如果您在listview中使用listitem,则如果listview gravity
未设置为layout:width
,则listitem的match_parent
属性可能无效。