android 빠 른 개발 (3) 공공 제목 표시 줄 사용: 매번 activity 가 제목 표시 줄 을 쓰 지 않도록 합 니 다.

공공 제목 표시 줄 사용 하기: 매번 activity 가 제목 표시 줄 을 쓰 지 않도록 합 니 다.
주: 부모 클래스 계승 법 으로 매번 activity 를 만 들 때마다 include 제목 표시 줄 을 피하 고 제목 표시 줄 의 각 작업 을 초기 화 합 니 다.
MainActivity 코드 와 xml 먼저 보기:
package com.yqy.yqy_commontitlebar;

import android.view.View.OnClickListener;

public class MainActivity extends CommonActivity {


	@Override
	public void init() {
		setTitleAndContentLayoutId("  ", R.layout.activity_main);
	}
	
	@Override
	public OnClickListener getBackOnClickLisener() {
		return null;
	}

	
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

코드 가 간결 하고 제목 표시 줄 텍스트, 제목 표시 줄 이 생각 하 는 레이아웃 과 마음대로 되 돌아 오 는 이벤트 가 있 습 니 다.
이것들 은 모두 CommonActivity 덕분 입 니 다.
package com.yqy.yqy_commontitlebar;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TextView;

public abstract class CommonActivity extends FragmentActivity {

	private TextView leftTv, centerTv, rightTv;

	@Override
	protected void onCreate(Bundle arg0) {
		super.onCreate(arg0);
		setContentView(R.layout.common_title_bar);
		leftTv = (TextView) findViewById(R.id.leftTv);
		centerTv = (TextView) findViewById(R.id.centerTv);
		rightTv = (TextView) findViewById(R.id.rightTv);

		if (getBackOnClickLisener() == null) {
			leftTv.setOnClickListener(new BackOnClickLisener());
		} else {
			leftTv.setOnClickListener(getBackOnClickLisener());
		}
		
		init();
	}

	/**
	 *         
	 * @author yqy
	 * @date 2016-1-7   3:44:55
	 * @param title
	 * @param layoutId
	 */
	public void setTitleAndContentLayoutId(String title, int layoutId) {
		getLayoutInflater().inflate(layoutId,
				(ViewGroup) centerTv.getParent().getParent());
		centerTv.setText(title);
	}
	
	public abstract void init();

	public abstract OnClickListener getBackOnClickLisener();

	class BackOnClickLisener implements OnClickListener {

		@Override
		public void onClick(View arg0) {
			finish();
		}

	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
			leftTv.performClick();
			return true;
		}
		return super.onKeyDown(keyCode, event);
	}

}

OnCreare 방법 제목 표시 줄 레이아웃 초기 화 및 이벤트 클릭
setTitleAndContentLayoutId (String title, int layoutId) 는 제목 표시 줄 의 제목 텍스트 와 주요 레이아웃 을 설정 합 니 다.
두 가지 방법 이 있 습 니 다. 앞 에 Public abstract 수식 문자 가 있 는 것 은 하위 클래스 를 복사 하 는 것 입 니 다. 부모 클래스 호출
제목 표시 줄 레이아웃 붙 이기:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="48dp" >

        <TextView
            android:id="@+id/leftTv"
            android:layout_width="40dp"
            android:layout_height="35dp"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:gravity="center"
            android:text="  " />

        <TextView
            android:id="@+id/centerTv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text="  "
            android:textSize="20sp" />

        <TextView
            android:id="@+id/rightTv"
            android:layout_width="40dp"
            android:layout_height="35dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:gravity="center"
            android:text="  " />
    </RelativeLayout>

    <View android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="@android:color/background_dark"/>
    
</LinearLayout>

이상 의 예 는 모두 문자 버튼 이지 만 자신의 필요 에 따라 조금 만 고 쳐 주시 면 됩 니 다.
마지막 으로 '개원 만세!'

좋은 웹페이지 즐겨찾기