Ich möchte Text anstelle von Symbol auf FloatingActionButton anzeigen. Daher habe ich FrameLayout verwendet, um dies zu erreichen. Keiner der onClickListers funktioniert jedoch. Ich habe android:clickable="true"
noch keine Änderung gesetzt. Unten ist mein Beispiel Layout-Datei:FloatingActionButton in framelayout funktioniert nicht
<FrameLayout
android:id="@+id/frame"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="bottom|end"
android:clickable="true"
android:layout_margin="@dimen/activity_horizontal_margin">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/text"
android:layout_width="30dp"
android:layout_height="match_parent"
android:elevation="7dp"
android:gravity="center"
android:layout_gravity="center_horizontal"
android:maxLines="3"
android:text="My Text"
android:clickable="true"
android:textAllCaps="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/white"
android:textSize="8sp"
android:textStyle="bold" />
</FrameLayout>
Ich habe versucht, beide Methoden verwenden: 1. Einstellung android:onClick="myMethod"
2. Einstellung OnClickListener programmatisch auf alle drei Elemente, dh FrameLayout, FAB und Textview innerhalb Aktivitätsklasse
Allerdings verwende ich FAB normal, dh ohne FrameLayout; es funktioniert gut.
Bitte stellen Sie eine Lösung bereit.
EDIT: Activity.java
fab = (FloatingActionButton) findViewById(R.id.fab);
text= (TextView) findViewById(R.id.text);
frame = (FrameLayout) findViewById(R.id.frame);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myMethod();
}
});
text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myMethod();
}
});
frame.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myMethod();
}
});
Logger Implementierung im Inneren myMethod(). Es scheint, dass onClick-Ereignis nicht ausgelöst wird, da ich kein Protokoll in der Konsole sehen kann.
Update :: Die Layout-Datei enthält auch RecyclerView auf der gleichen Ebene wie FrameLayout. Tritt das Problem aufgrund der Anwesenheit von RecyclerView auf?
entfernen Sie 'android: clickable =" true "' von framelayout .. – rafsanahmad007
bitte posten Sie Ihren Klick Event-Code – Shivam
ist es wichtig Floating Button zu verwenden? coz .. Sie können dasselbe erzielen, indem Sie runden Formhintergrund zum Knopf einstellen. –