問題タブ [layer-list]
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 - setBackgroundResource() は XML レイアウト属性を破棄します
のアイテムとして使用されるビューがありますListView
。私のカスタム アダプターでView.setBackgroundResource()
は、リスト内のアイテムの位置に応じてビューの背景を変更します。(リストの最初と最後のアイテムに別々のアセットを持っています。)
これにより、期待どおりに正しい背景画像が設定されますが、ビューの XML 定義で設定したすべてのパディングが完全に無視されるという厄介な副作用があります。
(XML でバックグラウンド ドローアブルを設定し、アダプターで実行時に変更しない場合、パディングはすべて正常に機能します。)
背景画像を変更し、パディングを保持するにはどうすればよいですか? これはバグですか?
編集他の誰かがここで同じ問題を発見したようです:背景を変更すると、LinearLayout のパディングも変更されますか?
android - android、background、layer-list、スケーラブルなビットマップアイテム
背景として次のドローアブルセットがあります。
すべてのビットマップ(、、、および)が表示されますbase_bg
がdecoration1
、decoration2
それらのサイズを変更する方法が見つかりません。メインの背景とその上に、dpiに基づいてサイズが異なる装飾が必要です。それを行う簡単な方法はありますか、それとも実際にさまざまなdpi用の「装飾」をたくさん用意する必要がありますか?それは良くありません、そして私は代わりにスケール/サイズ変更オプションを持ちたいです!
android:width
andandroid:height
属性は私が見つけたいものですが、機能しないことはわかっています。現在、DPIごとに異なるバージョンを使用していますが、もう少しユーザーフレンドリーになることを望んでいます。
android - Androidでボタンの特定の側面にストロークを適用する方法
ボタンの左側の境界線と右側の境界線だけにストロークを適用するにはどうすればよいですか? アンドロイドで。
次のコードを適用しましたが、機能しません
android - Android 4.2: IllegalstateException: この LayerDrawable の 1 つ以上の子に一定の状態がありません
スマートフォンの Android 4.1 から 4.2 への新しい更新以降、アプリは ViewPager とそのアクティビティを初期化するときに例外をスローします。
例外:
java.lang.IllegalStateException: この LayerDrawable の 1 つ以上の子が一定の状態を持っていません。このドローアブルは変更できません。
スタックトレース:
コード:
tab_bg_selector.xml:
tab_pg_pressed.xml
tab_bg_selected.xml
tab_bg_unselected.xml
「tabs_bg」レイアウトは、res/drawable/tab_bg_selector.xml と同じように、私のレイアウト フォルダーにあります。
Android 4.1 OS 以下では、この例外は発生しません。これは何であり、どうすればそれを取り除くことができますか?
android - AndroidでfindDrawableByLayerIdを使用するには?
ボタンの背景として使用されるレイヤーリストの特定のアイテムに setBounds() を使用したいと考えています。しかし、LayerDrawable オブジェクトを取得して findDrawableByLayerId() を呼び出すことができません。
誰でもこれを解決するのを助けることができますか?
android - ウィジェットのレイヤー リスト内の Drawable を動的に更新する
ウィジェットの構成段階で、レイヤー リストの一部であるビットマップを更新したいと考えています。RemoteViews と Widgets のすべての制限により、これを達成することはできません。新しい LayerDrawable を手動で作成することも、drawable を取得して更新することもできませんでした。アイデアはありますか?
背景: ウィジェットには、写真とその他の情報が表示されます。写真は、正方形、横向き、または縦向きであっても、適切に額縁に入れ、適切に拡大縮小する必要があります。
画層リスト:
ドローアブル @drawable/photo_border は 9 パッチのビットマップです。
レイアウトの対応する部分:
あなたの考えを共有してくれてありがとう。
android - Android を理解する
レイヤーリストの仕組みがわかりません。いくつかの例を含む公式ドキュメントを読みましたが、期待どおりに機能しません。1 dp でパディングする必要がある 4 つの正方形が必要ですが、期待どおりのものはありません。以下は、500% に拡大されたスクリーンショットです。
(間違った色は関係ありません)
ご覧のとおり、サイズが完全に間違っており、パディングがありません。幅/高さ、右/左/上/下などの実際の値を設定して、Androidが必要なものを確実に取得できるようにしました。
ここに私のxmlがあります:
android - XMLで固定幅のドローアブルを作成することは可能ですか?
各密度に 9 パッチを必要とすることから、XML ドローアブルのみを使用することまで、いくつかのグラフィックを簡素化しようとしています。これはかなり単純なグラフィックです。
2 つのセグメント:
- 両方のセグメントで幅 8 dp
- 上部セグメントの高さは 2 dp です
- 下部セグメントがビューを埋めます
- 右側は透明で塗りつぶされています
背景画像として設定すると、次の結果が得られます。
これを XML ドローアブルとして再作成するのは非常に簡単で、5 つの異なる 9 パッチ グラフィックスを作成する必要がないように思われます。ただし、レイヤーリストのドローアブル、インセットのドローアブル、クリップのドローアブルを調べました-それらはすべて、事前にビューのサイズを知っている必要があるようです(たとえば、インセットで2dpに保つには、に設定insetRight
する必要がありますビューの幅 - 2dp)。shape
タグのタグも使用してみましsize
たが、それは固定サイズを維持せず、固定比率を維持します (したがって、背の高いビューでは比例してスケーリングされます)。
私は単純なものを見落としていますか、それともレイアウト後にプログラムでチェックする必要がありますか?
android - Android:不透明度を指定する方法?
LayerListの不透明度を80にしたいので、次のように記述しました。
しかし、私は得ます:
不透明度を指定するにはどうすればよいですか?
android - プログラムで角の丸いレイヤー リストを作成する
現在、プロジェクト全体で必要に応じて上隅と下隅を設定できるように、次の XML をプログラムで作成するように変換しようとしています。これは、2 つの長方形を持つ単純なレイヤー リストです。重ねて。これをいくつかの異なるビューの背景として使用したいので、結果がスケーリングすることが重要です。
このアプローチはうまくいきますが、角を丸くしたいのか、上、下、両方、角を丸くしたくないのかに応じて、形状ごとに個別の XML が必要です。
同じドローアブルを作成しようとする私の現在の試みでは、一方が他方の上にある 2 つの長方形しか得られませんでした。長方形の位置を設定する方法がわかりませんでした。形状の境界が何に設定されているかに関係なく、目に見える変化は見られませんでした. どんな提案でも大歓迎です。
...