3

以前は ADT10.0 を使用していました。このバージョンでは、スタイルに関するエラーは発生しません。ADT を 18.0 に更新した後。今、次のエラーが発生しました。

エラー: アイテムの親を取得中にエラーが発生しました: 指定された名前 '@android:style/Widget.RatingBar.Small' に一致するリソースが見つかりませんでした。

どうすればこれを解決できますか? このインポートをhttp://source.android.com/source/downloading.htmlを使用してスタイルを解決するためにどこかで見ましたが、理解できません。

<style name="reviewRatingBar1" parent="@android:style/Widget.RatingBar.Small" >

    <item name="android:progressDrawable">@drawable/review_rating_bar_full</item>
    <item name="android:minHeight">13dip</item>
    <item name="android:maxHeight">13dip</item>
</style>
4

1 に答える 1

4

android.R.styleドキュメントによると、Widget.RatingBar.Small(もはや) スタイルはありません。これが、Eclipse がそのエラーを表示している理由のようです。

API レベル 7 と 15 などのファイルを比較するstyles.xmlと、スタイルは公開されていないようです。Eclipse で参照しようとすると、実際にはこれを確認するエラー メッセージが表示されます。

エラー: リソースは公開されていません。(値が「@android:style/Widget.RatingBar.Small」の「スタイル」)。

私が知る限り、ここにはいくつかのオプションがあります。

  1. @havexz の提案に従い、元のスタイルと参照リソースをコピーします。残念ながら、これにより、すべてのデバイスでスターの外観が固定されます。言い換えれば、デバイスのメーカーなどからテーマベースのリソースを使用する機能が得られず、星はユーザーが慣れているものとは異なって見えます。
  2. style="?android:attr/ratingBarStyleSmall"を宣言する際の参考にしてくださいRatingBar。ただし、このテーマ ベースのスタイルを継承することはできないため、デフォルトの「小さい」スタイルへのカスタマイズは、他のすべての小さい評価バーにコピーする必要があります。
  3. ハニカム以上のデバイスを対象とする場合は、Widget.Holo.RatingBar.Smallまたはを参照してくださいWidget.Holo.Light.RatingBar.Small。おそらくどちらか一方に対してアプリを設計するため、設計時にどちらのスタイルを継承するかがわかります。
  4. どうせ小さい方はもっと下の高さを制限しているみたいなので、レギュラースタイルRatingBarを継承するだけで済んでしまうのではないでしょうか?RatingBar
于 2012-06-04T06:27:48.473 に答える