안 드 로 이 드 가 경 동 쇼핑 몰 아래쪽 레이아웃 을 모방 한 선택 효과(Selector 선택 기의 실현)

경 동상 점 의 밑부분 구조의 선택 효 과 는 매우 복잡 해 보이 지만 사실은 매우 간단 하 다.이것 은 주로 selector 선택 기 에 감사 해 야 한다.본 고 는 경 동상 점 의 밑부분 구조의 선택 효 과 를 모방 하여 selector 선택 기 를 어떻게 실현 하 는 지 설명 하고 서로 다른 상태 에서 view 에 서로 다른 배경 을 설치 할 것 이다.
경 동상 점 하단 배치 의 선택 효 과 는 다음 과 같다.

View 주요 몇 가지 상태
주요 상 태 는 8 가지 가 있 는데 상 태 를 설정 하 는 코드 와 해당 하 는 의 미 는 다음 과 같다.

 android:state_pressed = "true/false" //true      ,false       。
 android:state_focused = "true/false" //true        ,false         。
 android:state_selected = "true/false" //true      ,false       。
 android:state_activated = "true/false" //true      ,false       。
 android:state_checkable = "true/false" //true        ,false       。
 android:state_checked = "true/false" //true       ,false        。
 android:state_enabled = "true/false" //true      ,fasle       。
 android:state_window_focused = "true/false" //true              ,false               。
 다른 상태의 아이콘 배경 설정
우선 서로 다른 상태 에서 같은 유형의 아이콘 을 각각 두 장 씩 준비 하여 mipmap 파일 로 복사 한 다음 drawable 파일 에 Drawable resource file 파일 을 새로 만 들 고 selector 라 고 명명 합 니 다.icon_home.xml。

이후 selector 에 서로 다른 상태의 배경 그림 을 기록 합 니 다.이것 은 첫 페이지 모듈 의 Selector 가 설정 한 소스 코드 입 니 다.다른 모듈 의 Selector 아이콘 설정 은 첫 페이지 모듈 과 일치 합 니 다.

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <!-- Non focused states -->
  <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_home" />
  <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_home_press" />
  <!-- Focused states -->
  <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@mipmap/icon_home_press" />
  <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@mipmap/icon_home_press" />
  <!-- Pressed -->
  <item android:state_selected="true" android:state_pressed="true" android:drawable="@mipmap/icon_home_press" />
  <item android:state_pressed="true" android:drawable="@mipmap/icon_home_press" />
 </selector>
 모든 모듈 에 있 는 Selector 그림 파일 을 추가 한 후 마지막 으로 ImageView 배경 을 R.drawable.selector 로 설정 합 니 다.icon_홈,코드 는 다음 과 같 습 니 다.

 imageView.setBackgroundResource(R.drawable.selector_icon_home);
실행 후 얻 은 효과 도 는 다음 과 같다.

다른 상태의 텍스트 색상 설정
새 color 파일 을 만 들 고 Colorresource file 파일 을 새로 만 듭 니 다.selector 라 고 명명 합 니 다.tab_text.xml。

이 모듈 의 선택 효과 에서 텍스트 색상 변 화 는 같 습 니 다.이 파일 에 서로 다른 상태의 텍스트 색상 을 기록 하면 됩 니 다.원본 코드 는 다음 과 같 습 니 다.

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <!-- Selected -->
  <item android:state_selected="true" android:color="#eb4f38" />
  <!-- Active -->
  <item android:state_active="true" android:color="#eb4f38"/>
  <item android:state_selected="false" android:color="#a9b7b7" />
  <item android:state_active="false" android:color="#a9b7b7"/>
</selector>
그리고 레이아웃 파일 layot 에 TextView 의 텍스트 색상 을 R.color.selector 로 설정 합 니 다.tab_text 는 큰 공 을 세 웠 습 니 다.

 android:textColor="@color/selector_tab_text
실행 후 얻 은 효과 도 는 다음 과 같다.

최종 효과

selector 선택 기 는 이벤트 상태 변 화 를 클릭 할 때 기본적으로 사 용 됩 니 다.개발 이 편리 할 뿐만 아니 라 상호작용 효과 도 좋 습 니 다.더 많은 용도 와 용법 은 Android developer 공식 문 서 를 참고 할 수 있 습 니 다.
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 안 드 로 이 드 모방 경 동상 점 하단 레이아웃 의 선택 효과(Selector 선택 기의 실현)입 니 다.여러분 께 도움 이 되 시 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기