自定义主题

   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>
显示结果:
     
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章