2016-06-28 20 views
0

私は、レイアウトで指定した背景イメージのボタンを持つアプリを持っています。 mdpi以上では正常に動作し、画像を見ることができます。しかし、私は最近、小さなデバイスでテストを開始し、背景が黒く表示されるのを見ました。私は私が満足している画面サイズ(小さい)をチェックし、密度をチェックしました。この場合は、ldpiです。そこで、mdpiイメージを36x36にリサイズし、mipmap-ldpiフォルダを作成しました。 Androidスタジオは設計時にそれを見ていますが、何らかの理由で実行時に選択されません。だから、私は周りを見回して、Android Studio経由で手動で追加する必要があるかもしれないことに気付きました。私は以下のようにLDPIとして密度を指定した場所だから私は、新しいリソースディレクトリを作成しました:ldpiアイコンがアンドロイドを表示しない

Add new Resource directory

私はその後、各アイコンは、同じ名前の新しいファイルを追加し、以下のようにLDPIフォルダを選択するために:

とLDPIディレクトリを選択します。

select mipmap ldpi directory

を私はそれが各アイコン/画像のための他のすべての密度であるのと同じ名前を入力します。

この後、私はまだ黒の背景があるので、プログラムでバックグラウンドを割り当ててみましょう。それは次に動作します。誰でもレイアウトファイルで指定するとうまくいかない理由を教えてください。私は特に小さな画面用のレイアウトファイルを持っています。密度も指定する必要がありますか?

画像にはお詫び申し上げます。私の評判はあまりにも低いので、私はまだ埋め込むことができないと思う。

更新1:推奨されているよう

ドロワブルにすべてのアイコンを移動し、それはまだそれをしていました。 LDPIが本当にサポートされていない他の記事を読んで、LDPI密度のデバイスをサポートしないことで問題を解決するという質問に答えました。 しかし、翌日にHPDI密度の古いS2で同じ問題が発生しました。そうでなければ、LDPIの問題ではないでしょう。うまくいけば、私たちは問題を見つけて修正することができます。

+1

アイコンをdrawable-lpi、drawable-hdpiなどに配置します。mipmapはアプリアイコンのみに使用します。http://stackoverflow.com/a/28065664/343679 – Sharj

+0

@Sharj、戻ってくれてありがとう私。私はAkeshwarが私に与えた助言に従ってそれを今行ったが、私はまだ同じ結果を得ている。何か案は ? –

答えて

2

mipmapディレクトリは、ランチャーアイコンの格納に使用されます。それらはアプリ内ではなく、ホーム画面とアプリ一覧で使用されます。

なぜなら、drawable-directoryからのリソースが要求されると、現在の密度に一致するフォルダからビットマップが選択されるからです。しかし、ミップマップドロアブルを使用する場合、ランチャーは別のフォルダ(通常はサイズアップ)からアイコンを選択することがあります。そのため、ldpiアイコンが表示されないのです。

ランチャーの中には、意図したよりも大きなアイコンを実際に表示するものがあります。したがって、ミップマップを使用してランチャーに役立ちます。

また、this linkをチェックしてください。

概要:は、アプリ内で使用されるアイコンとアプリのランチャーアイコン用にmipmapのドロワーブルを使用します。

+0

こんにちは@Akeshwar。応答していただきありがとうございます。私はすべてのアイコンを描画可能にして、すべての参照を描画可能に変更しました。それはまだやっていた。 Invalidate Caches/Restart ...を選択してもう一度やり直しましたが、ボタンはまだ黒です。あなたはおそらくそれがまだそれをやっている理由を考えることができますか? –

+0

理想的には、うまくいきました。しかし、そうしなかったので、イメージアセットとして最初からアイコンを追加することができます。 (サイドナビゲーションで、 'res'フォルダを開き、次にDrawableフォルダ - > New-> Image Asset-> Action BarとTabアイコンを右クリックします; Asset type:Image - > Next - > Finish)それが動作する場合は更新してください。 –

+0

こんにちは@Akeshwar。応答していただきありがとうございます。私はそれを前に試しましたが、Asset Studioはmdpiから追加するだけです。その後、私は同じ問題を再度解決してldpiフォルダを追加し、同じ結果を得ます。昨日から、ldpiのサポートが停止されていることを示す2つの記事もあります。これはその1つです。http://stackoverflow.com/questions/16281570/android-low-resolution-ldpi-icons-icon-set-generatorまたGoogleダッシュボードでは、Google Playを使用している端末の2.2%がldpiをサポートしているため、ldpiサポートを利用する予定です。ご支援ありがとうございます。 –

0

謝罪。私は間違って自分の質問をしました。私はそれがアイコンであると仮定しましたが、レイヤーリストの描画可能ファイルからアイコンを呼び出すことは忘れました。透明であると明示的に言及していない場合、Android 4.0と4.1を実行する一部のデバイスでは、レイヤーリストが黒く表示されます。私は今ldpiからすべてのアイコンを見ることができます。

ご協力いただきありがとうございます。参照リンク:Android xml layer-list not displayed correctly on some devices

関連する問題