天天看點

自定義主題

   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);

                /**

                 * 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() {

                                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_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"

        <LinearLayout android:layout_width="match_parent"

                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:text="@string/custom_title_left_button"/>

        </LinearLayout>

                <EditText android:id="@+id/right_text_edit"

                        android:text="@string/custom_title_right" />

                <Button android:id="@+id/right_text_button"

                        android:layout_width="wrap_content"                         android:layout_height="wrap_content"

                        android:text="@string/custom_title_right_button"/>

</LinearLayout>

顯示結果:

上一篇: 自定義函數
下一篇: 自定義View