0

Google의 지원 디자인 라이브러리에서 FloatingActionButton에 문제가 있습니다. 버튼과 onClickListener는 잘 작동하지만 문제는 여기에 있습니다 :숨기기/표시 후 플로팅 작업 버튼 onClick

버튼을 숨기면 버튼이 처음 클릭 할 때 onClick 메서드를 직접 실행하지 않습니다. 클릭하면됩니다. 2 일할 시간. onClick에서 복잡한 작업을 수행하지 않고 있는데, 이는 단지 setVisibility() 뷰를 실행하는 데 시간이 걸릴 수 있습니다.

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
fab.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     View searchL = findViewById(R.id.searchLayout); 
     searchL.setVisibility(View.VISIBLE); 
    } 
}); 

와 XML의 공장 태그 : 여기 내 코드는 내가 뭔가 잘못이 의심에도 불구하고있다

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="56dp" 
    android:layout_height="56dp" 
    android:layout_gravity="bottom|end" 
    android:src="@drawable/ic_search_white_24dp" 
    android:theme="@style/fabTheme" 
    android:layout_margin="15dp" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" /> 

편집 : 분명히 FloatingActionButton 이미 가지고 내가 OnCLickListener을 제거하고, clickListener를 설정하면 액션 버튼을 클릭 할 때 리플 효과가 발생하기 때문입니다. 무슨 일 이니? 이것이 내 활동의 유일한 코드입니다. 문제를 해결하는 대신에 클릭 리스너의 OnTouchListener을 보인다 사용하지만, 대신에 동작 버튼 애니메이션을 떠에 사용되는 hide()show() 방법을 사용하는


+0

, 그것은 좋은 것 같다. 전체 코드를 업로드하거나 적어도 클릭을 설정 한 위치를 알려주십시오. 또한 팹을 숨기는 코드를 제공해주십시오. –

+0

글쎄, 그게 뭔가 특별한 일을하고있는 게 아니야, 나는이 문제를 디버그하기 위해이 애플리케이션과 전체 애플리케이션을 테스트하기 위해 빈 액티비티를 만들었고, 지원 라이브러리의 버그 인 'onClickListener'가 있다고 생각한다. 'onCreate' 메소드에서 설정하고 나는 fab.hide()와 fab.show()를 사용하여 버튼을 숨기고 표시합니다. –

답변

0

을 무슨 일이 일어나고 있는지 설명 사용하지 않는 fab.setVisibility(View.GONE) 또는 fab.setVisibility(View.VISIBLE)

+0

잘 사용하고 싶습니다 .shide()와 .show()는 사용하지 않습니다. 애니메이션을 다뤄야 해. –

0

좋은 뉴스의 답은 여기에 있습니다 : 그것은 여기에 코드에서 이해하기 어려운

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 


      view.setVisibility(View.GONE); 

     } 
    });