2015年7月21日 星期二

Android-Activity 繼承與實作

想必大家對繼承不陌生吧
先來舉幾個簡單的範例
比如 : 
今天客戶要求設計10頁風格、擺設一樣的介面
您不可能一頁一頁慢慢的設計
如果心血來潮,又要更改擺設跟風格
又加上這次是100頁,那豈不是改到海枯石爛都改不完
這時繼承就是您的好朋友
您只需要更改特定的模板
全部被套用的也跟著一起更改
這就是繼承的好處?

介面只需要三個 TextView

首先我們要寫一個模板

public abstract class MainTitle extends Activity{

    //------ 1 . Start -------//
    private TextView leftText;
    
    public void setLeftName(String strLeftTitle){
        leftText.setText(strLeftTitle);
    }

    //------ End -------//
    
    //------ 2 . Start -------//
    public abstract String getTextTitle();
    //------ End -------//
    
    //------ 3 . Start -------//
    public void onCreateRightTitle(TextView rightTitle){}
    //------ End -------//
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_base_title);

        leftText = (TextView)findViewById(R.id.text_Left);
        
        TextView centerText = (TextView)findViewById(R.id.text_Center);
        centerText.setText(getTextTitle());
        
        TextView rightText = (TextView)findViewById(R.id.text_Right);
        onCreateRightTitle(rightText);

    };
    
}

套用模板
public class GActivity extends MainTitle {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // 1 
        setLeftName("左邊");
        
    }

    // 2 
    @Override
    public String getTextTitle() {
        
        return "中間";
    }

    // 3 
    @Override
    public void onCreateRightTitle(TextView rightTitle) {
        super.onCreateRightTitle(rightTitle);
        rightTitle.setText("右邊");
    }

}



歡迎轉載,請註明出處。

沒有留言:

張貼留言