Ich habe einen Knopf. Wenn ich die Taste drücke, muss ich den Text fett machen, sonst normal. Also habe ich Stile für fett und normal geschrieben.
<style name="textbold" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">bold</item>
</style>
<style name="textregular" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">normal</item>
</style>
Jetzt habe ich eine button_states.xml als:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"
style="@style/textbold" />
<item android:state_focused="false" android:state_pressed="true"
style="@style/textregular" />
<item style="@style/textregular" />
</selector>
In meinem Layout für diese Schaltfläche muss ich auch den Hintergrund transparent machen ... Wie mache ich das? Mein Layoutcode lautet:
<Button android:id="@+id/Btn" android:background="@drawable/button_states" />
Wie werde ich Hintergrund als transparent in meinen Stil aufnehmen?
Antworten:
Um einen Hintergrund transparent zu machen, tun Sie es einfach
android:background="@android:color/transparent"
.Ihr Problem scheint jedoch etwas tiefer zu liegen, da Sie Selektoren auf wirklich seltsame Weise verwenden. Die Art und Weise, wie Sie es verwenden, scheint falsch zu sein. Wenn es jedoch tatsächlich funktioniert, sollten Sie das Hintergrundbild als Stil in den Stil einfügen
<item/>
.Schauen Sie sich genauer an, wie Stile in der Android-Quelle verwendet werden. Während sie das Text-Styling beim Klicken auf Schaltflächen nicht ändern, gibt es viele gute Ideen, wie Sie Ihre Ziele dort erreichen können.
quelle
Versuchen Sie eine neue Methode, um den Hintergrund transparent zu machen
quelle
Verwenden Sie
#0000
(nur vier Nullen, sonst wird dies als betrachtetblack
). Dies ist der Farbcode für transparent. Sie können es direkt verwenden, aber ich empfehle Ihnen, eine Farbe in color.xml zu definieren, damit Sie den Code wieder verwenden können.quelle
@android:color/transparent
Fügen Sie dies in Ihre XML ein -
android:background="@android:color/transparent"
quelle
Sie können auch Folgendes verwenden: in Ihrer XML:
oder im Code:
quelle
Ich habe dies mit in XML mit erreicht
quelle
ich benutzte
und
quelle
Selektoren funktionieren nur für Zeichen, nicht für Stile. Referenz
Erstens , um den Hintergrund der Schaltfläche transparent Verwendung das folgende Attribut , da dies nicht die Materialdesign Animationen beeinflussen:
Es gibt viele Möglichkeiten, Ihre Schaltfläche zu gestalten. Schauen Sie sich dieses Tutorial an .
Zweitens , um den Text beim Drücken fett zu machen, verwenden Sie diesen Java-Code:
quelle
Sie können dies erreichen, indem Sie den Farb-Alphakanal einstellen.
Das Farbschema ist wie folgt: #AARRGGBB dort steht A für Alphakanal (Transparenz), R steht für Rot, G für Grün und B für Blau.
quelle
Schritt 1: Erstellen Sie eine neue Ressourcendatei in Drawable und Copy Paste
Speichern Sie es als ButtonUI (sagen wir mal)
Schritt 2: Wenden Sie die Benutzeroberfläche auf die Schaltfläche xml an
quelle
Code:
Xml:
quelle
Sie wenden die Hintergrundfarbe so an,
transparent(light gray)
als würden Sie auf die Schaltfläche klicken.Bei der obigen Methode legen Sie die Hintergrundfarbe der Schaltfläche fest.
quelle
Sie können dies einfach tun, indem Sie das folgende Attribut in die XML-Datei einfügen. Dieser Code wurde viel Zeit getestet.
quelle