2

理論的には簡単なことです。トーストの背景色を変えたい(android:minSdkVersion="14" android:targetSdkVersion="18")。私がしたこと?自分のスタイルの親として使用する Theme.Holo.Light 定義を見つけました。

Theme.Holo.Light の定義

次に見つけたのは:

<item name="android:toastFrameBackground">

ネスト私はそれを変更したかった:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyTheme" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBarStyle</item>
<item name="android:toastFrameBackground">@android:color/holo_blue_light</item>

アクション バーでは問題なく動作しますが、toastFrameBackground Eclipse では常に次のように表示されます。

エラー: エラー: 指定された名前に一致するリソースが見つかりません: attr 'android:toastFrameBackground'. styles.xml Android AAPT の問題

元のバージョンに設定しました(元のテーマ定義からコピーしただけです):

<item name="toastFrameBackground">@android:drawable/toast_frame</item>

それがうまくいくことを願っています。とんでもない。

ctr+space Eclipse をクリックすると、toastFrameBackground が表示されないようです。なんで?元のテーマ定義から他のいくつかの項目を確認しましたが、表示されているように見えるものもあれば、表示されていないものもあります。

何か案が?ヘルプ?

私は3〜4時間費やしましたが、何もしませんでした... 戦う価値がないように見えるので、おそらく元のトーストの背景色を保持しますが、メカニズムをより深く理解したいと思います. アイテムへのアクセス権がないのはなぜですか。アクセス権が必要なようです。

4

1 に答える 1

2

これtoastFrameBackgroundは、 がエクスポートされておらず、 に作成されていないためですpublic.xml。つまり、この属性は、非プラットフォーム/サードパーティ アプリケーションでは使用できないことを意味します。

ただし、達成しようとしているものについては、 https://stackoverflow.com/a/9903465/1893766を参照してください。

于 2013-10-07T05:05:26.950 に答える