Po wywołaniu setCompoundDrawables
metody złożony Drawable nie jest wyświetlany.
Drawable myDrawable = getResources().getDrawable(R.drawable.btn);
btn.setCompoundDrawables(myDrawable, null, null, null);
jakieś pomysły?
android
android-layout
android-drawable
Hunterp
źródło
źródło
(..)WithIntrinsicBounds
należy wywołać wariant nazwanej metody . Na marginesie,padding
dla związku rozciągliwej musi być ustawiony po tej rozmowy, aby spowodować efektsetBounds(Rect)
nazywa.Odpowiedzi:
Musiałem używać
setCompoundDrawablesWithIntrinsicBounds
.źródło
Użyj tego (przetestowałem). Działa dobrze
źródło
EditText#setCompoundDrawablesWithIntrinsicBounds
Obraz jest pusty, ponieważ nie ma określonych granic. Możesz użyć,
setCompoundDrawables()
ale zanim określisz granice obrazu, używającDrawable.setBounds()
metodyźródło
Przykład ustawiony na górze:
kolejność argumentów: (lewy, górny, prawy, dolny)
źródło
Jeszcze trochę prościej:
źródło
Jest przestarzałe w API 22.
Ten kod jest dla mnie przydatny:
źródło
W Kotlinie:
1) Zestaw
drawable
:lub
2) Zestaw
TextView
:lub
źródło
setCompoundDrawablesWithIntrinsicBounds
zadziała ..Dla mnie setCompoundDrawablesWithIntrinsicBounds (Drawable, Drawable, Drawable, Drawable) nie działał.
Musiałem użyć setCompoundDrawablesWithIntrinsicBounds (0, 0, 0, 0) .
źródło
Przykład z Kotlinem:
źródło
Obraz nie jest wyświetlany, ponieważ nie określono granic, więc masz tutaj 2 opcje.
1. metoda
Użyj
setCompoundDrawablesWithIntrinsicBounds
metody, jak pokazano poniżej2. metoda
Przed zastosowaniem do TextView możesz zastosować obwiednie do rysunku, jak pokazano poniżej
Otóż to.
źródło