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

Androidでは、Drawableは「描画できるもの」の一般的な抽象概念です。

22
修正方法:android.app.RemoteServiceException:パッケージから不正な通知が投稿されました*:アイコンを作成できませんでした:StatusBarIcon
クラッシュログに次の例外が表示されます。 android.app.RemoteServiceException: Bad notification posted from package com.my.package: Couldn't create icon: StatusBarIcon(pkg=com.my.package user=0 id=0x7f02015d level=0 visible=true num=0 ) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1456) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5487) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) at dalvik.system.NativeStart.main(Native Method) 次のメソッドを使用して、AlarmManagerを介して設定されたPendingIntentからのIntentServiceからの通知を投稿しています。ここで渡されるすべての値は、PendingIntent / IntentServiceのバンドルエクストラからのものです。 /** * Notification * * @param c * @param …

13
ボタンの背景色でボタンにリップル効果を追加しますか?
ボタンを作成し、そのボタンに波及効果を追加したいと思います! ボタンbg XMLファイルを作成しました:(bg_btn.xml) <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#FFFFFF" android:endColor="#00FF00" android:angle="270" /> <corners android:radius="3dp" /> <stroke android:width="5px" android:color="#000000" /> </shape> そして、これは私の波及効果ファイルです:(ripple_bg.xml) <ripple xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:color="#f816a463" tools:targetApi="lollipop"> <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <solid android:color="#f816a463" /> </shape> </item> </ripple> そして、これは私が波及効果を追加したい私のボタンです: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="173dp" android:textColor="#fff" android:background="@drawable/ripple_bg" android:clickable="true" /> しかし、リップル効果を追加した後、ボタンの背景は透明になり、ボタンはクリックされたときのみ次のように表示されます。 クリックする前 …

14
Androidでスタイルの最下行
下部だけがストローク(破線)になるようにAndroidシェイプを作成する必要があります。次のことを試してみると、ストロークは中心を通り、シェイプを二等分します。誰かがそれを正しくする方法を知っていますか?ストロークは一番下の線/境界である必要があります。図形をTextViewの背景として使用しています。どうして必要なのか気にしないでください。 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle" > <solid android:color="#1bd4f6" /> </shape> </item> <item> <shape android:shape="line" > <padding android:bottom="1dp" /> <stroke android:dashGap="10px" android:dashWidth="10px" android:width="1dp" android:color="#ababb2" /> </shape> </item> </layer-list>

4
スケーリングせずにレイヤーリストでベクタードローアブルを中央揃えにする方法
ベクトルをスケーリングせずVectorDrawableにa を使用しようとしていますLayerList。例えば: <layer-list> <item android:drawable="@color/grid_item_activated"/> <item android:gravity="center" android:drawable="@drawable/ic_check_white_48dp"/> </layer-list> ic_check_white_48dp次のように定義されたドローアブルID: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="48dp" android:height="48dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#FFFFFFFF" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/> </vector> チェックアイコンがドローアブルレイヤーの中央に配置され、拡大縮小は行われません。問題は、上のレイヤーリストにより、チェックアイコンがレイヤーサイズに合わせて拡大縮小されることです。 密度ごとにベクタードローアブルをPNGに置き換え、レイヤーリストを次のように変更すると、目的の効果を得ることができます。 <layer-list> <item android:drawable="@color/grid_item_activated"/> <item> <bitmap android:gravity="center" android:src="@drawable/ic_check_white_48dp"/> </item> </layer-list> これを使用してこれを行う方法はありますVectorDrawableか?

5
ドローアブルからスタイル属性を参照する方法は?
アプリケーションに2つの選択可能なテーマを用意したい。そのために、次のような属性をいくつか定義しました。 <attr format="color" name="item_background" /> 次に、次のように両方のテーマを作成しました。 <style name="ThemeA"> <item name="item_background">#123456</item> </style> <style name="ThemeB"> <item name="item_background">#ABCDEF</item> </style> この方法はすばらしいので、いくつかのテーマを簡単に作成および変更できます。問題は、ビューでのみ使用でき、Drawableでは使用できないように見えることです。 たとえば、レイアウト内のビューからの値の参照は機能します。 <TextView android:background="?item_background" /> しかし、Drawableで同じことをしても、次のことはできません。 <shape android:shape="rectangle"> <solid android:color="?item_background" /> </shape> アプリケーションを実行すると、次のエラーが発生します。 java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 ?item_backgroundハードコードされた色を使用する代わりに、それは機能しますが、テーマを使用できません。私も試しました?attr:item_backgroundが、同じことが起こります。 どうすればこれができますか?そしてなぜそれはビューでは機能するがドローアブルでは機能しないのですか?この制限はドキュメントのどこにも見つかりません...


7
オープンサイドAndroidストローク?
特定の側にのみストロークを持つAndroidシェイプオブジェクトを作成することはできますか? たとえば、私は持っています: <stroke android:width="3dip" android:color="#000000" android:dashWidth="10dip" android:dashGap="6dip" /> これはこのCSSに似ています: border: 3px dashed black; 片側だけでストロークを設定するにはどうすればよいですか?これは私がCSSでそれをする方法です: border-left: 3px dashed black; Android XMLでこれをどのように行いますか?

16
Lollipopがクラッシュする前にAndroid Vector Drawableを使用する
私はLollipopより前の Androidでベクタードローアブルを使用しており、これらは私のライブラリとツールバージョンの一部です。 Android Studio:2.0 Android Gradleプラグイン:2.0.0 ビルドツール:23.0.2 Androidサポートライブラリ:23.3.0 このプロパティをアプリレベルで追加しました Build.Gradle android { defaultConfig { vectorDrawables.useSupportLibrary = true } } Android公式ブログ(リンクはこちら)に記載されているLayerDrawable(layer_list)などの追加のドローアブルを使用して、外部のベクトルドローアブルのドローアブルを設定することにも言及する価値があります。app:srcCompat <level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/search"/> </level-list> app:srcCompatの外部でベクタードローアブルを直接参照すると、Lollipopの前に失敗します。ただし、AppCompatは、StateListDrawable、InsetDrawable、LayerDrawable、LevelListDrawable、RotateDrawableなどの別のドローアブルコンテナーで参照されている場合、ベクタードローアブルの読み込みをサポートします。この 間接参照を使用することで、TextViewのandroid:drawableLeft属性など、通常はベクタードローアブルをサポートできない場合に、ベクタードローアブルを使用できます。 私が使用しapp:srcCompatているときはすべてうまくいきますが、使用したとき: android:background android:drawableLeft android:drawableRight android:drawableTop android:drawableBottom 上のImageView、ImageButton、TextViewまたはEditTextロリポップ前に、それはexpectionがスローされます。 Caused by: android.content.res.Resources$NotFoundException: File res/drawable/search_toggle.xml from drawable resource ID #0x7f0200a9

4
角が丸いプログレスバー?
私はこのプログレスバーのデザインを達成しようとしています: 私が持っている現在のコードはこれを生成します: これはコードです: <item android:id="@android:id/background"> <shape> <corners android:radius="8dp"/> <solid android:color="@color/dirtyWhite"/> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="8dp"/> <solid android:color="@color/colorPrimaryDark"/> </shape> </clip> </item> 私のプログレスバー: <ProgressBar android:id="@+id/activeProgress" style="?android:attr/progressBarStyleHorizontal" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_weight="1" android:progress="10" android:progressDrawable="@drawable/rounded_corners_progress_bar"/> 進行状況の形状を少し小さくするため<size>に、<shape>に属性を追加しようとしました<clipが、機能しませんでした。また、プログレスバーはフラットなので、デザイン通りにカーブさせたいです。デザインを実現するために何を変更する必要がありますか?

9
Android:context.getDrawable()の代替
私はcontext.getDrawable()私のプロジェクトでこのように使用しました: Drawable greenProgressbar = context.getDrawable(R.drawable.custom_progressbargreen); しかし、Eclipseは私にそれが必要であるというエラーを与えていますMinimum API level of 21。これは、グーグルですばやく検索した後、私のアプリはでのみ使用できることを意味しAndroid 5.0ます。すべてのデバイスがこのバージョンのAndroidを使用しているわけではないので、の代替手段が必要context.getDrawable()です。

6
ファイルパスからビットマップ/ドローアブルを作成する
既存のファイルパスからビットマップまたはドローアブルを作成しようとしています。 String path = intent.getStringExtra("FilePath"); BitmapFactory.Options option = new BitmapFactory.Options(); option.inPreferredConfig = Bitmap.Config.ARGB_8888; mImg.setImageBitmap(BitmapFactory.decodeFile(path)); // mImg.setImageBitmap(BitmapFactory.decodeFile(path, option)); // mImg.setImageDrawable(Drawable.createFromPath(path)); mImg.setVisibility(View.VISIBLE); mText.setText(path); ただしsetImageBitmap()、setImageDrawable()パスからの画像は表示されません。パスを印刷しましたがmText、次のようになります。/storage/sdcard0/DCIM/100LGDSC/CAM00001.jpg 私は何が間違っているのですか?誰でも私を助けることができますか?

7
ListViewの最後の要素に下マージンを追加する
複雑なアイテムの背景を持つListViewを追加するには、追加する必要があります。上下の角が偶数/奇数と丸みを帯びている場合が異なります。次のようになります。 私はこれらすべてをレベルリストを介して実装しましたが、もう1つやりたいことがあります。これで、一番下の項目が画面の下部近くにあります。スペースを追加することをお勧めします。 ListViewに下マージンを追加したくありません。最後のアイテムにのみマージンが必要です。 私がこれを行うために見る方法: フッター 一種のハック–空のTextViewを持つフッターをListViewに追加します。ただし、フッターは非常に不安定なものであり、通常、notifyDataSetChangedの後に消え、元に戻す方法はありません。 透明ピクセルの画像 デザイナーに、下部の背景リソースに透明なピクセルを追加するように依頼しました。残念ながら、この場合、垂直方向のセンタリングは完全に壊れています。たとえば、次のような9patchがあります。 そしてこのようなレイアウト: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- View with background with transparent pixels on bottom --> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/item" android:background="@drawable/some_bgr" android:padding="10dp" > <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Title" android:layout_gravity="center" android:textSize="18sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Detail" android:layout_gravity="center" android:textSize="18sp" /> </LinearLayout> …

8
異なる解像度はアンドロイドをサポートします
編集された質問: モバイル解像度:次の解像度のように異なる画面dpiを設計したいと思います。 320×480、480×800、540x960、720x1280(サムスンS3)、1080x1920(S4、Nexus5、ネクサス5X、モトG4)、2560 X 1440(ネクサス6、ネクサス6P、サムスンエッジ) タブレット解像度: 480X800(マイクロマックス)、600x1024( samsung tab2)、800x1280(ネクサス7)、1200x1920(新しいネクサス7)、2048x1536(ネクサス9) デバイスのディスプレイ解像度に応じて異なるフォントサイズを使用したい。 Q1)これbestを解決する方法は何problemですか? Q2)スローコーディングまたはXMLを実行するための最良のオプションは何ですか? Q3)どのドローアブルフォルダがどのデバイス解像度を表していますか? Q4)異なる解像度のアプリケーションランチャーアイコンサイズ?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.