自定義主題

   android中如何自定義主題,如下圖:


   如何將主題進行改變呢?在android中他爲我們提供了Window中setFeatureInt,可以讓我們自定義各種各樣的桌面樣式。
  requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
                setContentView(R.layout.custom_title);
                getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);
   requestWindwoFeature是判斷該特徵在當前是否存在(顯示),如果改特徵沒有顯示就讓他顯示,setFeatureInt方法爲指定的窗口特徵設置值(該界面特徵的佈局)。關於更多的Window類的介紹可以參考網站:http://www.cnblogs.com/GnagWang/archive/2011/03/31/2001067.html
   代碼:
protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

             /**
                * 自定義主題
                */

                requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
                setContentView(R.layout.custom_title);
                getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);
                /**
                 * id爲left_text.right_text爲自定義佈局文件內容
                 */

                final TextView leftText = (TextView) findViewById(R.id.left_text);
                final TextView rightText = (TextView) findViewById(R.id.right_text);
                final EditText leftTextEdit = (EditText) findViewById(R.id.left_text_edit);
                final EditText rightTextEdit = (EditText) findViewById(R.id.right_text_edit);
                /**
                 * 設置button監聽事件,一邊隨時改變左右主題的內容
                 */

                Button leftButton = (Button) findViewById(R.id.left_text_button);
                Button rightButton = (Button) findViewById(R.id.right_text_button);
                
                leftButton.setOnClickListener(new OnClickListener() {
                        public void onClick(View v) {
                                leftText.setText(leftTextEdit.getText());
                        }
                });
                rightButton.setOnClickListener(new OnClickListener() {
                        public void onClick(View v) {
                                rightText.setText(rightTextEdit.getText());
                        }

custom_title_1.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/screen"
        android:layout_width="match_parent" android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView android:id="@+id/left_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:text="@string/custom_title_left" />
        <TextView android:id="@+id/right_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:text="@string/custom_title_right" />
</RelativeLayout>

custom_title.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/screen"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <LinearLayout android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:baselineAligned="false">
                <EditText android:id="@+id/left_text_edit"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:maxEms="10"
                        android:minEms="10"
                        android:layout_gravity="center_vertical"
                        android:text="@string/custom_title_left" />
                <Button android:id="@+id/left_text_button"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:text="@string/custom_title_left_button"/>
        </LinearLayout>
        <LinearLayout android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:baselineAligned="false">
                <EditText android:id="@+id/right_text_edit"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:maxEms="10"
                        android:minEms="10"
                        android:layout_gravity="center_vertical"
                        android:text="@string/custom_title_right" />
                <Button android:id="@+id/right_text_button"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:text="@string/custom_title_right_button"/>
        </LinearLayout>
</LinearLayout>
顯示結果:
     
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章