3

Androidリソースに奇妙な問題があります。Android2.2で作成したアプリがあり(android:minSdkVersion="8")ます。アプリケーションは正常に動作します。

たとえばAndroid4.0にアプリをインストールすると、アプリケーションは正常に動作しますが、最初に実行すると一部のリソースが変更されます。

たとえば、htmlcolorを参照するprimary_colorという名前の描画可能な色があり#FFFFFFます。インストール後、システムは白ではなく黒の色をレンダリングします。場合によっては、@android:color/white黒色になります。

アプリを強制終了し、アプリを再起動してこの問題を解決します。

この問題を解決するのを手伝ってください。

4

2 に答える 2

0

まったく同じ問題に遭遇しました!私はこれをcolors.xmlに持っていました

 <resources>
    <color name="white">#ffffffff</color>
 </resources>

そしてstyles.xmlで

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
  <item name="android:windowBackground">@color/white</item>
</style>

問題は、アクティビティ内でフラグメント (ListView を含む) を使用すると、最初の実行時に ListView が背景 (必要なもの) として白い色を表示するが、2 回目の実行では ListView の背景が黒くなることでした。この問題は Android 4.0 にのみ存在しましたが (4.1 ではテストしていません)、Android 4.3、4.4、5 などでは問題なく動作しました。

白以外の色が使用された場合、黒の背景の問題はありませんでした。

したがって、白い背景が必要で、複数の背景をオーバードローしたくないので、styles.xml で windowBackground として白を設定することは重要でしたが、同時に黒の背景の問題が発生します。

解決策として、完全な白ではなく白である別の色を作成しました

<resources>
    <color name="fakewhite">#fffefefe</color>
</resources>

そしてstyles.xmlで

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@color/fakewhite</item>
</style>

したがって、短い色 #ffffffff は ListView のようなビューでは #00000000 に変換され、ScrollView でもこの動作に気付きます。これは完璧な解決策ではないかもしれませんが、私にとってはうまくいきました!

于 2015-05-24T19:42:49.770 に答える
0

これは、Android バージョン 4.0 から 4.1.3 のバグが原因です。私は、これらのバージョンのデバイスでのみドローアブルが黒くなるという同様の問題をテストしてきました。これは、Android バージョン > 4.2 のデバイスには存在しません。

あなた自身の調査で気づいたと思いますが、適切に文書化されていないようで、公式の解決策はありませんが、いくつかの回避策を提供できます:

1) ハードウェア アクセラレーションをオフにします。問題に対して別の解決策を使用しましたが、これにより、上記の Android バージョンの画像に関するいくつかの問題が解決されることがわかっています。アプリケーションでハードウェア アクセラレーションをオンにしたい場合は、マニフェストのアクティビティ宣言にこれを追加することで、問題のアクティビティに対してハードウェア アクセラレーションを無効にすることができます。

<activity
 android:name="activityName"
 android:hardwareAccelerated="false"/>

2)あなたの例に固有の解決策として、色を@android:color/transparentに設定してみてください。これにより、背景のドローアブルを白のままにする必要があるという問題が解決されました。

3) ここを参照してください: http://code.google.com/p/android/issues/detail?id=34619で、同様の文書化されたバグを確認してください。これらの解決策のいくつかは、問題に対しても機能する可能性があります。

HTH

于 2013-07-10T13:54:38.850 に答える