タグ付けされた質問 「drawable」

Drawableはグラフィックス関連の用語であり、一般的には「描画されるもの」を意味します。

20
Androidドローアブルディレクトリにサブディレクトリを含めることはできますか?
Android SDKドキュメントでは、@ drawable / my_image xml構文で使用されるすべての例が、プロジェクトのres / drawableディレクトリに格納されている画像を直接アドレス指定しています。 ドローアブルディレクトリ内にサブディレクトリを作成することは明示的に問題があるのではないかと思います。 たとえば、次のディレクトリレイアウトがあるとします。 res/drawable -- sandwiches -- tunaOnRye.png -- hamAndSwiss.png -- drinks -- coldOne.png -- hotTea.png マグロのサラダサンドイッチの画像を@ drawable / sandwiches / tunaOnRyeとして参照できますか または、ドローアブルディレクトリの階層をフラットに保つ必要がありますか?


7
リソースからDrawableを作成する方法
画像がありますres/drawable/test.png(R.drawable.test)。 この画像をDrawable、たとえばを受け入れる関数に渡したいのですがmButton.setCompoundDrawables()。 では、どうすれば画像リソースをに変換できDrawableますか?
283 android  drawable 

12
setBackground vs setBackgroundDrawable(Android)
ビューの背景ドローアブルを設定したい。これには二つの方法が(私の知る限り見るように)がありますsetBackgroundとsetBackgroundDrawable。 を使用するとsetBackground、APIレベル16で追加されたと表示されますが、プロジェクトの最小SDKバージョンは7です。16未満では機能しないと思いますか?しかし、setBackgroundDrawableを使用すると、廃止されたと表示されます。 何を使うべきですか?

11
すべてのデバイスに適合するAndroidスプラッシュ画面の画像サイズ
スプラッシュに表示したいフルスクリーンPNGがあります。そこに一つだけのエラー、と私は(すべての描画可能なフォルダに入れてどのようなサイズが分からないldpi、mdpi、hdpi、およびxhdpi)。私のアプリケーションは、すべての携帯電話とタブレットで正常に動作するはずです。スプラッシュがすべての画面で適切に表示されるようにするには、どのサイズ(ピクセル単位)を作成する必要がありますか?

6
AndroidパッケージのリソースIDからDrawableオブジェクトを取得するにはどうすればよいですか?
画像ボタンに表示するDrawableオブジェクトを取得する必要があります。以下のコード(またはそのようなもの)を使用してandroid.R.drawable。*パッケージからオブジェクトを取得する方法はありますか? たとえば、drawableIdがandroid.R.drawable.ic_deleteの場合 mContext.getResources().getDrawable(drawableId)

7
Android-上部のみが丸い角のドローアブル
私はこのドローアブルを背景として丸い長方形にするために持っていました: <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/white" /> <stroke android:width="1dp" android:color="@color/light_gray" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> <corners android:radius="6dp" /> </shape> 予想通り、これは正常に機能しています。 これを上端のみを丸めるように変更したいので、次のように変更します。 <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/white" /> <stroke android:width="1dp" android:color="@color/light_gray" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> <corners android:topLeftRadius="6dp" android:topRightRadius="6dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/> </shape> しかし、今度は角が丸くならず、単純な長方形になります。ここで何が欠けていますか?

2
プログラムでセレクター画像を置き換える
セレクターに設定された描画可能な画像リソースを持つImageViewがあります。プログラムでセレクターにアクセスして、強調表示された状態と強調表示されていない状態の画像を変更するにはどうすればよいですか? これはセレクターのコードです: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/iconSelector"> <!-- pressed --> <item android:state_pressed="true" android:drawable="@drawable/btn_icon_hl" /> <!-- focused --> <item android:state_focused="true" android:drawable="@drawable/btn_icon_hl" /> <!-- default --> <item android:drawable="@drawable/btn_icon" /> </selector> 他の画像btn_icon_hlと入れ替えたいですbtn_icon。

10
Drawableの色相を変更するためのColorMatrixおよびColorMatrixColorFilterの使用について
私はアプリのUIに取り組んでおり、グレースケールアイコンを使用して、ユーザーがテーマを選択した色に変更できるようにしています。これを行うには、ある種のColorFilterを適用して、ドローアブルの上に色をオーバーレイしようとしています。私はPorterDuff.Mode.MULTIPLYを使用してみましたが、白も色でオーバーレイされていることを除いて、それは必要とほぼ同じように機能します。私が理想的に探しているのは、Photoshopの「カラー」ブレンディングモードのようなものです。グラフィックは透明度と明度を保持し、画像の色のみを変更します。たとえば、次のように なります。いくつかの調査を行った後、ColorMatrixColorFilterクラスが必要なことを実行するように見えますが、マトリックスの使用方法を示すリソースを見つけることができません。4x5のマトリックスですが、マトリックスの設計方法について知っておく必要があります。何か案は? 編集:大丈夫、私がこれまでにこれで見つけたものは次のとおりです: 1 0 0 0 0 //red 0 1 0 0 0 //green 0 0 1 0 0 //blue 0 0 0 1 0 //alpha この行列が恒等行列(適用された場合、変更はありません)であり、数値の範囲は0〜1(浮動小数)です。この行列は各ピクセルに乗算され、新しい色に変換されます。だから、ここからぼんやりしてきます。したがって、各ピクセルは0.2, 0.5, 0.8, 1、変換マトリックスが点在するargb値(例:)を含む1 x 4ベクトルであると思います。したがって、画像の赤の強度を2倍にするには、次のような行列を使用します。 2 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 …

14
Android:@ drawable / pictureをドローアブルに変換できませんでした
ドローアブルフォルダーにいくつかの画像があり、それらはすべて完璧に参照していますが、同じフォルダーにまったく同じサイズの画像を追加して参照しようとすると、エラーが発生します。ドローアブル/画像をドローアブルに変換する」。同じ画像を別の名前で試しましたが、エラーが発生し続けます。別のXMLレイアウトでも同じことを試してみました。また、使用できる文字のルールが厳密に規定されているにもかかわらず、エラーメッセージが引き続き表示されるため、写真の名前は「jack」、「abc」、「question_mark」になっています。問題を解決する方法についてのアドバイスはありがたいです、ありがとう。 @ drawable / pictureをドローアブルに変換できませんでした

3
xmlを使用してカラードローアブルの丸い角の半径を設定するにはどうすればよいですか?
Androidのウェブサイトには、カラードローアブルに関するセクションがあります。これらのドローアブルをxmlで定義すると、次のようになります。 <resources> <drawable name="solid_red">#f00</drawable> <drawable name="solid_blue">#0000ff</drawable> <drawable name="solid_green">#f0f0</drawable> </resources> Java APIでは、角の丸い角を定義する次のメソッドがあります。 setCornerRadius(float radius) 丸みを帯びた角をxmlに設定する方法はありますか?
108 android  drawable 

4
XML記述でドローアブルを回転させることは可能ですか?
再利用可能なリソースを使用してアプリを作成しています(ボタンは常に同じですが、ミラーリングまたは回転されるため)。同じリソースを使用したいので、元のリソースとまったく同じでローテーションされているリソースを3つ追加する必要はありません。しかし、コードをXMLで宣言できるものと混合したり、処理時間のかかるマトリックスを使って変換したりしたくありません。 XMLで宣言された2つの状態ボタンがあります。 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/and_card_details_button_down_left_onclick" /> <!-- pressed --> <item android:drawable="@drawable/and_card_details_button_down_left" /> <!-- default --> </selector> ドローアブルは再利用したいと思います。これは同じですが、90度と45度回転し、ボタンにドローアブルとして割り当てます。 <Button android:id="@+id/Details_Buttons_Top_Left_Button" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/details_menu_large_button" /> a RotateDrawableまたはaで回転できることは知っていますMatrixが、すでに説明したように、そのアプローチは好きではありません。 それをXMLで直接達成することは可能ですか?それを行うための最良の方法は何だと思いますか?回転以外のすべてのリソースを入れて、コードで回転させますか? ---編集--- @dmaxiの答えはうまくいきます。これは、アイテムリストと組み合わせる方法です:) <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <rotate android:fromDegrees="90" android:toDegrees="90" android:pivotX="50%" android:pivotY="50%" android:drawable="@drawable/and_card_details_button_up_onclick"/> </item> <item> <rotate android:fromDegrees="90" …

8
ベクタードローアブルスケーリングが期待どおりにならないのはなぜですか?
Androidアプリでベクタードローアブルを使用しようとしています。http://developer.android.com/training/material/drawables.htmlから(鉱山を強調): Android 5.0(APIレベル21)以上では、定義を失うことなくスケーリングできるベクタードローアブルを定義できます。 このドロアブルを使用する: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"> <path android:fillColor="@color/colorPrimary" android:pathData="M14,20A2,2 0 0,1 12,22A2,2 0 0,1 10,20H14M12,2A1,1 0 0,1 13,3V4.08C15.84,4.56 18,7.03 18,10V16L21,19H3L6,16V10C6,7.03 8.16,4.56 11,4.08V3A1,1 0 0,1 12,2Z" /> そしてこのImageView: <ImageView android:layout_width="400dp" android:layout_height="400dp" android:src="@drawable/icon_bell"/> アイコンを400 dpで表示しようとすると、次のぼやけた画像が生成されます(lollipopを実行している2015年頃の高解像度モバイルデバイス上): ベクタードローアブルの定義で幅と高さを200dpに変更すると、400dpのレンダリングサイズでの状況が大幅に改善されます。ただし、これをTextView要素のドローアブルとして設定すると(つまり、テキストの左側にあるアイコン)、巨大なアイコンが作成されます。 私の質問: 1)ベクタードローアブルに幅/高さの仕様があるのはなぜですか?これらの全体のポイントは、ロスレスにスケールアップおよびスケールダウンして、その定義で幅と高さを無意味にすることだと思いましたか? 2)TextViewで24 dpのドローアブルとして機能する単一のベクタードローアブルを使用することはできますか。たとえば、さまざまなサイズの複数のベクタードローアブルを作成せずに、レンダリングされた要件に合わせてスケーリングする方法を使用するにはどうすればよいですか? 3)幅/高さの属性を効果的に使用するにはどうすればよいですか?viewportWidth / Heightとの違いは何ですか? さらなる詳細: デバイスはAPI 22を実行しています Android Studio …

7
Android:フィルターを使用してStateListDrawableを作成するために、Drawableを複製する
私は、任意のDrawableが押された/フォーカスされた/選択されたなどのときに強調表示されるようにする一般的なフレームワーク関数を作成しようとしています。 私の関数はDrawableを取り、StateListDrawableを返します。デフォルトの状態はDrawable自体であり、の状態android.R.attr.state_pressedは同じDrawableですsetColorFilter。 私の問題は、ドローアブルを複製して、フィルターを適用した状態でドローアブルの個別のインスタンスを作成できないことです。これが私が達成しようとしていることです: StateListDrawable makeHighlightable(Drawable drawable) { StateListDrawable res = new StateListDrawable(); Drawable clone = drawable.clone(); // how do I do this?? clone.setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY); res.addState(new int[] {android.R.attr.state_pressed}, clone); res.addState(new int[] { }, drawable); return res; } クローンを作成しない場合、フィルターは明らかに両方の状態に適用されます。遊んでみましたmutate()が、役に立ちません。 何か案は? 更新: 受け入れられた答えは確かにドローアブルを複製します。私の一般的な機能が別の問題で失敗するので、それは私を助けませんでした。ドローアブルをStateListに追加すると、すべてのフィルターが失われるようです。

3
バブルEditTextに連絡する
私はMultiAutoCompleteTextViewそれがGoogle+アプリでどのように実装されるかと同じように連絡先バブルを作成しようとしています。以下はスクリーンショットです。 。 DynamicDrawableSpanテキストのスパンのバックグラウンドでスパン可能なドローアブルを取得するために、クラスを拡張しようとしました public class BubbleSpan extends DynamicDrawableSpan { private Context c; public BubbleSpan(Context context) { super(); c = context; } @Override public Drawable getDrawable() { Resources res = c.getResources(); Drawable d = res.getDrawable(R.drawable.oval); d.setBounds(0, 0, 100, 20); return d; } } 私のoval.xmlドローアブルは次のように定義されています: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.