21

ImageButton에 대한 리플 효과를 구현하려고합니다. 배경 및 이미지의 리플을 src에 설정했습니다.ImageButton 외부에 리플 효과 구현

android:background="@drawable/myripplexml" 
android:src="@drawable/myimagepath" 

버튼 레이아웃 내에서 멋진 리플 효과를 제공합니다.

android:background="?android:attr/selectableItemBackgroundBorderless" 

을하지만 기본 색상과 스타일을 사용하지만 사용 파급 효과가 그것을 할 수있는 버튼 레이아웃 also.Another 방법 밖에 확장 할. 색상, 모양 및 크기와 관련하여 어떻게 사용자 정의 할 수 있습니까?

+0

실망시키지 않으셨습니까? –

+0

@MurtazaHussain selectableItemBackground BorderLess와 비슷한 효과를 원하지만 differrnt 색상이 필요합니다. –

+0

테두리없이 드로어 블을 작성하십시오. –

답변

13

나는이 문제에 직면했다. 나의 버튼이 원형 인 동안 'selectableItemBackgroundBorderless'는 사각형을 만든다. 나는 이것이 원래의 질문에 대한 대답하지만, 여기 내가 찾은 것입니다 있는지 확실하지 않습니다 : 당신이 선택을 위해를 사용하는 가정 (낮은 API 수준에서 그릴 수-V21

<ripple 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:color="?android:colorControlHighlight"> 
    <item android:id="@android:id/mask"> 
     <shape android:shape="oval"> 
      <solid android:color="?android:colorAccent" /> 
     </shape> 
    </item> 
</ripple> 

및 @null이에 배경을 설정 실제 이미지 버튼 src). 리필은 버튼 채우기에서 가장 잘 보입니다. 마스킹 레이어가 전혀없는 경우 잔물결은 풀리지 않으며 화면 전체를 차지합니다. 원이 아니라면 원하는 모양을 사용할 수 있습니다.

+0

경계가없는 것 같습니다. 그것은 나를 위해 일식 모양으로 나타납니다. 보기의 테두리 안에 있습니다. –

+1

보기에 여백이 설정된 경우 수행 할 수 있습니다. –

6

@alan이 그의 코멘트에서 언급 한 것과 같습니다. 마스크 및 하위 항목이없는 잔물결 항목을 작성하여보기 배경으로 추가하면 리플이 사용 가능한 첫 번째 상위 항목 위에 그려지고 뷰 경계를 확장 할 수 있습니다. This is mentioned in the doc

<!-- An unbounded red ripple. --/> 
<ripple android:color="#ffff0000" /> 
+0

이것은 작동합니다! 잔물결에 안드로이드 : 반지름을 설정할 수도 있습니다. –

8

당신이 나 같은 게으른 경우, 기본 리플의 활용 및 이전 버전과의 호환성에 대해 잊지.

?android:selectableItemBackground // Ripple within view 
?android:selectableItemBackgroundBorderless //Ripple outside view 

불행하게도,이 물결은 항상 색상에 회색 : 기본적으로 유 플레이를 통해 UR에 추가 할 수있는 배경 리플의 두 가지 유형이 있습니다. 테마를 기반으로 이들을 조정하려면 ur parent 테마로 이동하여 colorControlHighlight를 변경하십시오. 앱의 메인 테마에서

:이 값은 기본 리플의 색상을 변경합니다

<item name="colorControlHighlight">#1bff3a</item> 

.

참고 : 21 이하 장치의 경우 리플이 사용자가 설정 한 동일한 색상의 주목할만한 선택기로 바뀝니다.

+0

두 가지 유형의 잔물결을 언급했지만 동일한 이름으로 2를 나열 하시겠습니까? – oXeNoN

+0

지금 확인하십시오. 내 대답이 업데이트되었습니다. @oXeNoN – amalBit

+0

어떻게 작동합니까? 크기와 색상을 사용자 정의하는 더 좋은 방법이 있습니까? –