如何修复android中RatingBar中Stars的对齐问题?

时间:2013-08-12 10:50:03

标签: android android-layout

我正在android中创建一个自定义评级栏。我的要求是,我希望RatingBar中的星星大小应该是布局兼容的,即使图像的大小增加。星形图像被隐藏。这是我试过的XML代码

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:paddingBottom="@dimen/activity_vertical_margin"
             android:paddingLeft="@dimen/activity_horizontal_margin"
             android:paddingRight="@dimen/activity_horizontal_margin"
             android:paddingTop="@dimen/activity_vertical_margin"
             tools:context=".MainActivity" >
             <LinearLayout
             android:id="@+id/linear1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="horizontal"
             android:background="#800080"
             android:layout_centerInParent="true"    
             android:width="180dp"
             android:height="180dp"
             >   
               <RatingBar
                   android:id="@+id/rateCheck"
                   android:background="#008000"
                   style="@style/CustomRatingBar"
                   android:layout_width="100dp"
                   android:layout_height="50dp"
                   android:layout_alignParentTop="true"
                   android:layout_centerHorizontal="true"
                   android:layout_marginTop="182dp"
                   android:max="5"
                   android:rating="5"
                   android:stepSize="1"
                   android:numStars="5"/>
            </LinearLayout>
            </RelativeLayout>

风格如下                  @绘制/ custom_ratingbar             16dip             16dip          customratingbar.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+android:id/background"
android:drawable="@drawable/custom_ratingbar_empty" />
    <item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/custom_ratingbar_empty" />
    <item android:id="@+android:id/progress"
android:drawable="@drawable/custom_ratingbar_filled" />
</layer-list>

自定义ratingbarempty 是     

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true"
android:state_window_focused="true"
android:drawable="@drawable/star_off" />

<item android:state_focused="true"
android:state_window_focused="true"
android:drawable="@drawable/star_off" />

<item android:state_selected="true"
android:state_window_focused="true"
android:drawable="@drawable/star_off" />

<item android:drawable="@drawable/star_off" />

</selector>

customratingbarfilled

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true"
android:state_window_focused="true"
android:drawable="@drawable/star_on" />

<item android:state_focused="true"
android:state_window_focused="true"
android:drawable="@drawable/star_on" />

<item android:state_selected="true"
android:state_window_focused="true"
android:drawable="@drawable/star_on" />

<item android:drawable="@drawable/star_on" />

</selector>

0 个答案:

没有答案