2

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>

スタイルは次のとおり @drawable/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>

カスタムレーティングbaempty

<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>

カスタムバーフィルド

<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>
4

0 に答える 0