FloatingActionButton에 아이콘 대신 텍스트를 표시하려고합니다. 따라서 FrameLayout을 사용하여이 작업을 수행했습니다. 그러나 onClickListerners가 작동하지 않습니다. android:clickable="true"
을 변경하지 않았습니다.framelayout 내의 FloatingActionButton이 작동하지 않습니다.
<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>
내가 두 가지 방법 사용하여 시도 : 다음은 내 샘플 레이아웃 파일 작업 클래스 내부의 모든 세 가지 요소에 프로그래밍 android:onClick="myMethod"
2. 설정을 OnClickListener를 설정 1. 즉 FrameLayout이, FAB 및 텍스트 뷰를
그러나, 나는 FrameLayout을 사용하지 않고 FAB를 정상적으로 사용한다. 잘 작동하고 있습니다.
해결책을 제공해주십시오.
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();
}
});
MyMethod라는 내부 기록 장치 구현 본(). 콘솔에서 로그를 볼 수 없어서 onClick 이벤트가 트리거되지 않는 것 같습니다.
업데이트 : 레이아웃 파일에는 FrameLayout과 동일한 수준의 RecyclerView도 포함되어 있습니다. 문제가 RecyclerView의 존재로 인해 발생합니까?
framelayout에서'android : clickable = "true"'를 제거하십시오. – rafsanahmad007
클릭 이벤트 코드를 게시하십시오 – Shivam
플로팅 버튼을 사용하는 것이 중요합니까? coz .. 둥근 모양의 배경을 버튼으로 설정하여 동일한 효과를 얻을 수 있습니다. –