4

独自の評価バーを作成しました。花の画像のサイズは、24pxx24px から 64x64px までの 4 つのサイズ (xdpi、hdpi など) があります。

<?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/ic_rating_flowers_empty" />
    <item android:id="@+android:id/secondaryProgress"
          android:drawable="@drawable/ic_rating_flowers_empty" />
    <item android:id="@+android:id/progress"
          android:drawable="@drawable/ic_rating_flowers" />
</layer-list>

ドローアブル floder の rating_flowers.xml

<style name="flowersRating" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/rating_flowers</item>
    <item name="android:minHeight">24dip</item>
    <item name="android:maxHeight">64dip</item>
</style>

styles.xml で

<TableRow
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="5dip" >

    <TextView
        android:text="@string/mood_headache" />

    <RatingBar
        android:id="@+id/moodHeadacheRating"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"    
        android:numStars="3"
        android:stepSize="1.0"
        android:rating="0" 
        style="@style/flowersRating" />

 </TableRow> 

と活動

そして、私が見るもの

私が見るもの

drawable-ldpi からの画像

ここに画像の説明を入力 ここに画像の説明を入力

4

5 に答える 5

3

削除してみてください

android:padding="5dip"

花のドローアブルのすぐ上にパディングが発生するため、TableRow から。

于 2012-12-15T07:52:57.640 に答える
1

評価バー変更の XML で

android:layout_height="wrap_content"

android:layout_height="[some number]sp".

これにより、画像が途切れる問題が解決されます。

DisplayMetricsを使用して、ディスプレイに関する一般的な情報を取得し、使用する適切な単位を見つけ出すことができますが、Android 単位変換器を使用する方がはるかに簡単です。

于 2014-06-01T00:28:42.103 に答える
1

スタイルを ?android:attr/ratingBarStyleSmall として使用します

<RatingBar
android:id="@+id/rating"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:progressDrawable="@drawable/ratingbar_selector"
android:rating="2.0"
android:stepSize="1.0" />

カスタム評価バーセレクターは次のようになります: ratingbar_selector.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/ic_unselected_star" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/ic_unselected_star" />
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/ic_selected_star" />
</layer-list>

IMP 注: カスタム評価バー アイコンのサイズが 48x48、50x50 などの場合は、アイコンを xxhdpi フォルダーに配置します (小さい (36x36) 評価アイコンを使用したため、同じ問題が発生していたため)。次に、サイズが 48x48 の評価バー アイコンを使用しました。

于 2018-02-22T10:48:22.170 に答える
0

ここでまったく同じ問題に遭遇しました。私にとって、問題はコードではなく、画像自体にありました。私の場合、解決策は、写真を手動で調整して必要なサイズ (IE 24x24 または 64x64) にし、それらを適切なフォルダーに入れることでした。

いろいろ試しましたが、どうやら

<item name="android:minHeight">24dip</item>
<item name="android:maxHeight">64dip</item>

私にとってのコードは何もしません。画像自体のサイズを変更してみて、問題が解決するかどうかを確認してください。

-シル

于 2015-09-29T18:18:00.870 に答える