인 스 턴 스 설명 Android 사용자 정의 컨트롤

소 편 은 앞서 안 드 로 이 드 사용자 정의 컨트롤 에 대한 사용법 등 을 소개 한 바 있 으 며 필요 한 것 은 참고 하 시기 바 랍 니 다.
Android 개발 의 사용자 정의 컨트롤 사용법 상세 설명
Android 사용자 정의 컨트롤 속성 자세히 알 아 보기

QQ 에 있 는 Toolbar 는 사용자 정의 view 입 니 다.서로 다른 화면 은 간단하게 문 자 를 수정 한 것 일 뿐 입 니 다.두 번 째 장과 세 번 째 장 은 특히 뚜렷 합 니 다.우 리 는 QQ 의 이 Toolbar 를 본 떠 사용자 정의 컨트롤 을 설정 합 니 다.
시작 하기 전에 먼저 정부 가 어떻게 컨트롤 을 실현 하 는 지 알 아 보 세 요.예 를 들 어 Linearlayout 입 니 다.

레이아웃 이 있 는 게 아니 라width 와 layotheight 이 두 속성 이 요?사실 이 두 가지 속성 은 바로 공식 적 으로 정 의 된 것 이다.
 
공식 적 인 조작 은 바로 View Group 을 계승 한 것 입 니 다.Linearlayout 은 사용자 정의 View 에 해당 합 니 다.그 방법 은 깊이 연구 하지 않 아 도 됩 니 다.Path 의 경 로 를 열 면 atts.xml 파일 을 찾 을 수 있 습 니 다.열 면 Linearlayout 의 layot 속성 을 정의 할 수 있 습 니 다.layot 가 있 습 니 다.width 와 layotheight 이 몇 가지 속성 을 보면 레이아웃 파일 에서 사용 할 속성 을 참조 한 다 는 것 을 알 수 있 습 니 다.
본문 을 시작 으로 사용자 정의 컨트롤 절 차 를 설명 합 니 다.
1.디자인 에 사용 할 속성
먼저 모드 를 procject 모드 로 전환 합 니 다.

새 moudle


관련 패키지 이름,라 이브 러 리 이름 수정


여기 서 첫 번 째,즉 activity 인터페이스 를 만 들 지 않 고 finish 를 누 르 면 완 성 됩 니 다.
Topbar->res->values 를 순서대로 펼 치고 values 에 atts.xml 파일 을 만 듭 니 다.

 xml 파일 코드 는 다음 과 같 습 니 다:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <declare-styleable name="Topbar">
    <attr name="title" format="string"/>
    <attr name="titleTextSize" format="dimension"/>
    <attr name="titleTextColor" format="color"/>

    <attr name="leftTextColor" format="color"/>
    <attr name="leftBackgroud" format="reference|color"/>
    <attr name="leftText" format="string"/>

    <attr name="rightTextColor" format="color"/>
    <attr name="rightBackgroud" format="reference|color"/>
    <attr name="rightText" format="string"/>


  </declare-styleable>
</resources>
깊이 이해 하면 이 편 을 볼 수 있다.http://blog.csdn.net/zjh_1110120/article/details/50976027
2.우리 가 필요 로 하 는 컨트롤 을 실현 합 니 다.
topbar 의 자바 폴 더 에 Topbar 클래스 를 새로 만 들 고 RelativeLayout 를 계승 합 니 다.

그 다음 에 두 개의 매개 변 수 를 가 진 구조 방법 을 다시 쓰 십시오.Attributeset 은 xml 파일 에 정 의 된 여러 가지 속성 을 저장 하 는 데 사 용 됩 니 다.
 
 
그 다음 에 TypedArray 클래스 의 대상 을 만 들 고 context 의 obtainStyleAttribute 방법 을 호출 하여 방금 우리 가 만 든 atts.xml 의 각종 속성 을 가 져 옵 니 다.두 번 째 매개 변 수 는 Topbar 가 바로 위의 atts.xml 에서 정의 한입 니 다.

그 다음 에 TypedArray 클래스 의 getxx 방법 으로 xml 에서 정의 하 는 관련 속성 을 얻 을 수 있 습 니 다.Topbar 와 atts.xml 에서 정의 하 는 속성 은 밑줄 로 연결 합 니 다.
두 번 째 인자 가 0 인 것 을 볼 수 있 습 니 다.레이아웃 파일 에서 컨트롤 의 속성 에 속성 값 을 설정 하지 않 으 면 기본 값 은 0 입 니 다.

그리고 마지막 에 회수 해 야 돼 요.
이후 이전 속성 치 를 획득 하여 관련 속성 을 설정

여 기 는 레이아웃 파일 에서 이 사용자 정의 컨트롤 의 속성 을 사 용 했 을 때 이 종 류 는 우리 가 입력 한 속성 값 을 얻 은 다음 에 상기 방법 으로 설정 합 니 다.
이 단계 에 이 르 면 좌우 button 과 제목 textview 를 하나의 View 에 놓 고 LayoutPram 의 addview 방법 으로 VIEW 에 추가 해 야 합 니 다.
 먼저 세 개의 LayoutPram 을 성명 합 니 다.

와 이 드 높이 설정 후 addView 를 사용 하여 View 에 추가 합 니 다.

 이 단계 에 이 르 러 서 는 레이아웃 이 완성 되 었 지만 좌우 button 의 클릭 이 벤트 를 실현 해 야 합 니 다.클릭 한 모니터 를 직접 설정 하면 완 성 됩 니 다.

그러나 이것 은 우리 가 원 하 는 템 플 릿 이 아 닙 니 다.템 플 릿 은 activity 에 모니터 를 직접 설정 해 야 합 니 다.컨트롤 에 관련 된 사건 처 리 를 쓰 는 것 이 아니 라 인터페이스 리 셋 체 제 를 사용 해 야 합 니 다.
button 설정 감청 기 를 모방 하 는 방법 입 니 다.인터페이스 클래스 topbarClickListener 를 정의 할 수 있 습 니 다.왼쪽 단추 의 클릭 과 오른쪽 단추 의 클릭 이벤트 에 대응 하 는 두 가지 방법 을 설명 한 다음 인터페이스 클래스 대상 listener 를 설명 하고 setOnTopbar ClickListener 방법 을 만 들 수 있 습 니 다.그 중에서 파 라 메 터 를 이전에 설명 한 listener 에 전달 합 니 다.

이후 좌우 button 의 클릭 이 벤트 를 수정 하여 인터페이스 에 호출 하 는 방법 이 완성 되 었 습 니 다.

3.우리 의 컨트롤 을 참조 합 니 다.
인용 은 button 을 사용 하 는 것 처럼 속성 에 대한 할당 을 하 는 것 입 니 다.마치 우리 가 button,textview 등 컨트롤 의 속성 을 사용 하 는 것 과 같 습 니 다.

여기 서 볼 수 있 습 니 다.cus 가 있 습 니 다.우리 가 사용 하 는 안 드 로 이 드,시스템 이 정의 하 는 button 등 컨트롤 이 있 습 니 다.우 리 는 그것 의 속성 을 설정 할 때 안 드 로 이 드 를 써 야 합 니 다.그 전에 xmlns:android=http://schemas.android.com/apk/res/android
 이것 은 안 드 로 이 드 자체 의 컨트롤 속성 을 설명 하 는 것 입 니 다.안 드 로 이 드 는 하나의 이름 에 해당 합 니 다.우 리 는 마음대로 쓸 수 있 습 니 다.그 다음 에 뒤의 것 을 res-auto 로 바 꾼 다음 에 우리 의 사용자 정의 속성 을 사용 하 는 것 은 우리 가 전에 쓴 이름 을 접두사 로 하 는 것 입 니 다.제 그림 과 같 습 니 다.
그 중에서 cus 는 임의로 지정 할 수 있 지만 시스템 의 네 임 스페이스 와 같 을 수 없습니다.안 드 로 이 드 스튜디오 에서 res-auto 를 사용 하면 eclipse 에서 res 후 완전한 가방 이름 이 필요 합 니 다.
오른쪽 에 있 는 미리 보기 그림 도 실제 효 과 를 볼 수 있 습 니 다.
여러분 이 공부 한 후에 소감 이 있 으 면 아래 에 직접 메 시 지 를 남 겨 주세요.

좋은 웹페이지 즐겨찾기