問題タブ [android-drawable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android:すべてのピクセル密度に単一の画像リソースを使用するにはどうすればよいですか?
ビューの1つの背景パターンとして使用したい画像があります。パターンとして、タイル化されるため、解像度に依存しません。デバイスのピクセル密度に関係なく、画像内の1つのピクセルを画面上に1つのピクセルとして表示し、スケーリングは行わないようにします。
これで、イメージの4つの同一のコピーを作成し、それらをmdpi、ldpi、hdpi、およびxhdpiディレクトリにドロップすることで確実に実行できます。しかし、それは冗長で肥大化したようです。いずれの場合も、1つのイメージをそのまま使用するようにSDKに指示する方法はありますか?
ありがとう。
android - ボタンで選択した状態を呼び出すと、テキストが消えます
ボタンにsetSelected(true)を設定できるように、状態が選択された単純なセレクターがあり、選択されていることが示されます。ActionBarタイプのようなものを作成しています。一部のAndroidデバイス(nexusタブレット)(v4.1.2)ではうまく機能しますが、Samsung Galaxy S2(v2.3.6)では、setSeletcted(true)状態を呼び出すとボタンのテキストが非表示になります。なぜこれが起こっているのか誰もが知っていますか?
私の*button_tab_selected*と*button_tab*png画像リソースは両方とも47x479パッチです。
drawable_tabcontrolbutton.xml
レイアウトコード
Javaコード
android - Androidのデフォルトのスピナーリストの選択色がランダムに変化する
Androidにドロップダウンリストを実装しようとしています。
これがSpinner
私のlayout.xmlで使用しているものです
でMainActivity.java
、私は次のコードを使用しています、
これが私のspinner_layout.xmlです
Selector_text_color.xml
セレクター_background.xml
ただし、スピナーリストのアイテム選択の色が変更される場合があります。
いつ正しく表示されるかわかりません。ランダムに選択色が変更されています。選択範囲が1番目の画像として表示されることもあれば、2番目の画像として表示されることもあります。
なぜこれが起こるのでしょうか?これを解決する方法は?
android - Google マップでマーカー アイコンとして使用されるドローアブルの回転
現在、ドローアブルからマップ(api v2)にマーカーを追加したいのですが、次のようにします:
マーカーアイコンとして使用する前に、ドローアブルを回転させたいと思います。それを行う最良の方法は何ですか?私は試した
しかし、結果のドローアブルは奇妙に変形しています。より良い、よりクリーンなソリューションが必要だと思います。
android - Shape Drawable gradientRadius はピクセル単位でのみ機能します。これ無駄じゃない?% 値が機能しない
ビューの背景として、放射状のグラデーションでシェイプ ドローアブルを使用したいと考えています。javadoc によると、グラデーションの半径は特定の値 (おそらくピクセル) またはパーセントとして設定できます。
アンドロイド:gradientRadius
放射状グラデーションでのみ使用されるグラデーションの半径。
「1.2」などの浮動小数点値の場合があります。
"14.5%" のように、% または %p のいずれかが追加された浮動小数点数である小数値の場合があります。% サフィックスは、常に基本サイズのパーセンテージを意味します。オプションの %p サフィックスは、一部の親コンテナーに相対的なサイズを提供します。
間違っている場合は訂正してください。ただし、ここでピクセル値を使用しても、このグラデーションは画面密度によってまったく異なるように見えるため、まったく役に立ちません (テスト済みで、これは本当です)。% と %p の値を使用しようとしましたが、まったく機能しませんでした。
Android ソース コードを詳しく調べて、gradientRadius がどのように処理されているかを確認したところ、GradientDrawable クラスで次のことがわかりました。
あはは!したがって、 % または %p を追加すると、値が 100 で除算されます ( TypeValue.getFraction() のドキュメントがさらに不明確であるため、これをテストしました)。65% が 0.65 になりました。理にかなっていますが、有用な目的には役立ちません。
では、gradientRadius を使用する最良の方法は何ですか?
PS。GradientDrawable を使用してプログラムで背景を追加しましたが、目的の結果が得られています。ビューの幅に相対的な値で GradientDrawable.setGradientRadius() を使用し、デバイス間で一貫したグラデーションを取得しました。
android - これらのわずかに異なる状態のドローアブルとの動作の違いはありますか?
Q1)描画可能な元のListView
状態を見ると、listSelector
次のようなものがあります(例を簡略化するためにいくつかのコードを削除しました):
しかし、私は自分のアプリで次のようにしています。
これは同じ結果をもたらすようで、はるかに簡単です。最初のものが私自身のバージョンよりもうまくいく状況に気づきましたか?コードをできるだけ短くするために、何か重要なことを見逃していないことを確認したいだけです...
Q2)州のドローアブルが<item android:drawable="<TRANSPARENT>" android:state_window_focused="false"/>
一番上にあるのですが、なぜ必要なのかわかりません。いつも少し戸惑いましたstate_window_focused
…本当に必要ですか?
android - Android は ldpi 修飾子を尊重しません
次の 2 つのデバイスのレイアウト/ドローアブルを区別したい:
したがって、次の修飾されたディレクトリを使用しています。
しかし、画面サイズがピクセル 480x764 の 7 インチ ldpi デバイスで実行すると、Android (V4.0.3) は hdpi バージョンを選択します。なぜでしょうか? ドキュメントを読むと、ldpi の方が適しているはずです。
layout-sw600dp-hdpi / drawable-sw600dp-hdpi を完全に削除すると、2) が選択され、すべて問題ありません。しかし、hdpi バージョンも必要です。
では、どうすれば 7 インチ デバイスの ldpi/hpdi バージョンを区別できますか?
ありがとうございました!
アンドレイ
android - AndroidsetBackgroundResourceがメモリ不足を引き起こします
私はViewPagerに12のビューを表示するゲームブックアプリケーションに取り組んでいます。これは私のカスタムPagerAdapterです:
一部のデバイスでは、このコード行が呼び出されると、メモリ不足の例外がランダムに発生します。
しかし、すべてのデバイスで、ページをめくるとlogcatに次のようなものが表示されます。
別のアクティビティでユーザーアクションに基づいてメインレイアウトに異なるバックグラウンドリソースを設定すると、同じ問題でアプリが一部のデバイスでクラッシュします。ここにコードがあります:
mainLayoutでsetBackgroundResource()を呼び出すと、excepitonが再度実行されます。
よろしくお願いします。