問題タブ [compound-drawables]
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 - EditText 内のドローアブルでのクリック イベントの処理
EditText
次の XML を使用して、ウィジェットのテキストの右に画像を追加しました。
EditText
しかし、埋め込み画像がクリックされたときにクリアしたい。これどうやってするの?
android - ボタンのドローアブルを縮小するにはどうすればよいですか?
ボタンのドローアブルを小さくするにはどうすればよいですか?アイコンが大きすぎて、実際にはボタンよりも高くなっています。これは私が使用しているコードです:
上はそれがどのように見えるべきか、下はそれが今どのように見えるかです。
これを試しましたが、画像が表示されません。:-(
android - ImageViewとTextViewを含むLinearLayoutの代わりに複合ドローアブルを使用するにはどうすればよいですか?
私のコードに対して新しいLintツールを実行しました。良い提案がたくさん出てきましたが、これは理解できません。
このタグとその子は、1つと複合ドローアブルに置き換えることができます
問題:複合ドローアブルを使用して、現在のノードをTextViewに置き換えることができるかどうかを確認します。
ImageViewとTextViewを含むLinearLayoutは、複合ドローアブルとしてより効率的に処理できます。
そして、これが私のレイアウトです
この場合、誰かが化合物を描画可能にする方法の具体的な例を提供できますか?
android - DrawableTop がドローアブルを表示しない
drawableTop を使用して、ボタンのテキストの上に画像を表示しようとしています。
私の写真は、ドローアブルではなく、sdcard からのものです。
また、表示するボタンの数によってボタンのサイズが変わる場合があります。ボタンを増やし、ボタンを小さくし、画像を小さくします。
ボタンの作成方法は次のとおりです。
XML ファイルのボタンスタイルは次のとおりです。
そして、drawableTop を作成する方法は次のとおりです。
テキストはボタンに表示されますが、画像は表示されません。
エラーはどこにありますか?
どんな助けでも大歓迎です!
android - xmlで複合ドローアブルテキストビューの高さと幅を設定するには?
幅を設定するタグが表示されません
ここで、テキストビューの高さを設定します。幅を設定すると、正しく機能しません。
これをxmlで設定するにはどうすればよいですか? 出来ますか?
android - 複合ドローアブルを使用してTextViewで実際のテキストパディングを設定します
がListView
入力されていArrayAdapter
ます。アイテムには、単一のTextView
レイアウトのみを使用します。一部の行に複合ドローアブルを設定したいと思います。
TextView
質問:複合ドローアブルにもパディングが適用されないように、含まれている実際のテキストにパディングを設定する方法はありますか?他の解決策は、テキストの幅をロックすることです。ImageViews
レイアウトに追加する必要がありますか?
android - CompoundButton Checkbox チェックボックスのドローアブルの幅がどこでどのように測定されているか
右側にチェックボックスを作成しようとして、Android のコードを見ていました。しかし、Androidがチェックボックスアイコン/ドローアブルの幅を測定している場所に戸惑いました。
CheckboxはCompoundButtonクラスを拡張し、onPopulateAccessibilityEvent メソッドのみをオーバーライドします。CompoundButton クラスにはもう少しコード (100 行) があり、Buttonクラスを拡張します。ボタン クラスには余分なコードはほとんどなく、TextViewクラスを拡張します。TextView クラスには、最大量のコード (10,000 行) があります。
ソースコードへのリンクはこちら
CompoundButton Web -構文の強調表示 http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/android/widget/CompoundButton.java?av=f
TextView Web - 構文の強調表示 http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/android/widget/TextView.java?av=f
TextView には複合ドローアブルと呼ばれる機能があり、テキストの左、右、下、または上にドローアブルを配置できます。だから私はこれが複合ボタンが左側の複合ドローアブルのチェックボックスドローアブルを設定している場所であると仮定しました。しかし、CompoundButton コードでは、これを見つけることができませんでした。
ただし、CompoundButton を拡張してカスタム クラスを作成し、getCompoundPaddingLeft() を呼び出すと、幅がチェックボックスのサイズとほぼ同じになりました。しかし、getCompoundDrawables() を実行すると、onDraw() の時点でも結果は null の配列になります。textView では、すべてのディメンション データを保持する変数はプライベートであるため、CompoundButton がこれらの値をどのように設定しているかわかりません。これは、 TextViewのgetCompoundPaddingLeft()の例です。
チェックボックスのドローアブルが設定されている CompoundButton のコードは次のとおりです。左にドローアブル画像があることを TextView に渡す方法はないようです。
私の質問は、CompoundButton が左側のコンパウンド ドローアブルの幅をどのように設定しているのかということです。すでにチェックボックスを持っているので、右側にチェックボックスを配置するハックには興味がないことに注意してください。
さらに検査すると
textview クラスを拡張してカスタムの textview クラスを作成し、それをカスタムの CompoundButton クラスに拡張させて、いくつかのメソッドをオーバーライドして、チェックボックスの間隔が作成されている場所を特定しようとしました。
チェックボックスのスペースを作成していたのは、compoundLeft ではなく paddingLeft でした。setPadding() メソッドをオーバーライドしたときと同様に、paddingLeft が送信されていました。これは、チェックボックスにパディングなしで背景を配置したかのように意味があり、チェックボックスは描画されません。
パディングは、textView コンストラクター コードのデフォルト スタイルから読み取られています。
a = theme.obtainStyledAttributes( attrs, com.android.internal.R.styleable.TextView, defStyle, 0);
使用されている com.android.internal.R.styleable にアクセスできないため、さらに調べる方法がわかりません。
android - テキストをTextViewの複合ドローアブルに揃える方法は?
TextView でテキストとその複合ドローアブル (テキストより小さい) の配置を設定する方法がわかりません。デフォルトの配置は中央にあるようですが、端に揃える必要があります。
PS:android:gravity
複合ドローアブルがテキストよりも大きい場合はうまく機能しますが、小さい場合はそうではありません。
android - テキストビューの左上に複合ドローアブルを配置する方法
drawableLeft
以下のように、またはを使用してテキストビューの複合ドローアブルを設定できますsetCompundDrawables
が、これを使用すると、ドローアブルを左/右/上/下に配置することしかできませんが、ドローアブルはテキストビューの左上と右上にのみ配置したいと思います。どうやってやるの ?
android - 引き伸ばされた複合ドローアブルを使用した固定幅の TextView
私は次のレイアウトを実現しようとしています: 固定幅の TextView は親の左側に配置され、その内部のテキストはその TextView の右側に配置されます (そのため、固定幅、他の方法で実行できますか?)親の残りの部分は、ドローアブル (単純な線) で埋められます。このような:
これは 2 種類の行を含む ListView であり、行を含む行のレイアウトは非常に簡単です - TextView と ImageView を使用した LinearLayout (必要に応じて正確なコードを後で投稿できます)。そして、複合ドローアブルを持つ単一の TextView に置き換えることができるという警告が表示されます。
私はすべて最適化に賛成なので、そのアドバイスに従おうとしました。残念ながら、同じ結果を得ることができませんでした。行が TextView の幅に制限されているか、テキストが ListItem の右側に配置され、現在は固定位置になっています。
何か不足していますか?
編集:明らかにそれは実際には不可能であり、他のいくつかの複雑さがあるため(ドローアブルは現在、レベルリストのドローアブルであり、常に線であるとは限らず、設定する必要がある固定されていない高さがある場合があります)残しておきます現在の状態 - 1 つの TextView と 1 つの ImageView を含む線形レイアウト。