Wie programmgesteuert festgelegt drawableLeft auf Android-button?
Ich bin dynamisch erstellen von Schaltflächen. Ich stylte Sie mit XML erste, und ich bin versucht, den XML-unten und machen es programattic.
<Button
android:id="@+id/buttonIdDoesntMatter"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="buttonName"
android:drawableLeft="@drawable/imageWillChange"
android:onClick="listener"
android:layout_width="fill_parent">
</Button>
Dies ist, was ich habe, so weit. Ich kann alles tun, aber die drawable.
linear = (LinearLayout) findViewById(R.id.LinearView);
Button button = new Button(this);
button.setText("Button");
button.setOnClickListener(listener);
button.setLayoutParams(
new LayoutParams(
android.view.ViewGroup.LayoutParams.FILL_PARENT,
android.view.ViewGroup.LayoutParams.WRAP_CONTENT
)
);
linear.addView(button);
InformationsquelleAutor der Frage | 2010-12-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
setCompoundDrawables
Methode, dies zu tun. Siehe das Beispiel hier. Ich habe dieses ohne diesetBounds
- und es funktionierte. Sie können entweder versuchen, Weg.UPDATE: Kopieren Sie den code hier, falls der link down geht
oder
oder
InformationsquelleAutor der Antwort Varun
Einfach können Sie versuchen, diese auch
InformationsquelleAutor der Antwort Jignesh Ansodariya
Für mich, es hat geklappt:
InformationsquelleAutor der Antwort swapnil saha
InformationsquelleAutor der Antwort gnganpath
Habe ich dieses:
InformationsquelleAutor der Antwort user1564762
Hilfreich sein könnten:
InformationsquelleAutor der Antwort Muhaiminurabir
***** Kotlin-Version *****
Verwenden Sie die folgende snippet, fügen Sie ein drawable Links zu der Schaltfläche:
.
Wichtiger Punkt bei der Verwendung von Android-Vektor-Drawable
Wenn Sie mit einem android-Vektor-drawable und wollen Abwärtskompatibilität für API unter 21fügen Sie die folgenden codes an:
In-app-Ebene
build.gradle
:In der Application-Klasse:
InformationsquelleAutor der Antwort aminography
als @Jérémy Reynaud wies darauf hin, wie in dieser Antwortder sicherste Weg, die Links-drawable ohne änderung der Werte der anderen drawables (oben, rechts und unten) ist durch die Verwendung der vorherigen Werte aus dem button mit setCompoundDrawablesWithIntrinsicbounds:
Damit werden alle Ihre bisherigen drawable erhalten.
InformationsquelleAutor der Antwort ישו אוהב אותך
Versuchen Sie dies:
InformationsquelleAutor der Antwort user2969017