将评级栏对齐

时间:2011-05-28 13:29:43

标签: android listview alignment

我正在尝试将一个评级栏添加到一个包含图像和文本的列表视图行。我的问题是,当我添加评级栏时,我无法让它与右对齐。它要么填充可用区域,要么对齐到左侧。

我的list-row定义如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
<ImageView  
    android:id="@+id/picture"
    android:layout_width="64px"
    android:layout_height="64px"
    android:paddingLeft="3px"
    ></ImageView>
<TextView 
    android:id="@+id/drinkName" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:textSize="25px">
    </TextView>
<RatingBar
    android:id="@+id/rating"
    android:layout_gravity="right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="?android:attr/ratingBarStyleSmall">
    </RatingBar>
</LinearLayout>

有什么想法吗?

提前致谢 罗兰

3 个答案:

答案 0 :(得分:3)

三个小变化:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content">
<ImageView  
    android:id="@+id/picture"
    android:layout_width="64px"
    android:layout_height="64px"
    android:paddingLeft="3px"
    ></ImageView>
<TextView 
    android:id="@+id/drinkName" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:textSize="25px">
    </TextView>
<RatingBar
    android:id="@+id/rating"
    android:layout_gravity="right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="?android:attr/ratingBarStyleSmall">
    </RatingBar>
</LinearLayout>

答案 1 :(得分:1)

你可以使用RelativeLayout ......例如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
<ImageView  
    android:id="@+id/picture"
    android:layout_width="64px"
    android:layout_height="64px"
    android:paddingLeft="3px"
></ImageView>
<TextView 
android:id="@+id/drinkName" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:textSize="25px">
</TextView>
<RelativeLayout android:layout_width="wrap_content" android:id="@+id/relativeLayout1" android:layout_height="match_parent">
    <RatingBar android:layout_width="wrap_content" android:id="@+id/rating" android:layout_height="wrap_content" style="?android:attr/ratingBarStyleSmall" android:layout_alignParentRight="true"></RatingBar>
</RelativeLayout>
</LinearLayout>

答案 2 :(得分:0)

您是否尝试过gravity - 属性?此外,您不应使用像素值。这将使您的布局在具有其他屏幕分辨率的设备上看起来很糟糕。