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 >
显示结果:

更多相关文章

  1. Android主题和样式
  2. GridView的使用
  3. Android高德地图获取当前地理位置(不显示地图只获取当前位置)
  4. tab上显示数字
  5. Android运行过程中一点小问题
  6. Android(安卓)studio No executable code found 断点不可用
  7. Android(安卓)显示、隐藏状态栏和导航栏
  8. android 一直在最前面的浮动窗口效果
  9. popwindow动画显示消失,activity切换动画

随机推荐

  1. Vmware安装Ubuntu16.4的过程及出现问题的
  2. 人体结构如何画?漫画简单人体结构画法
  3. 【北亚数据恢复】服务器重装系统后分区消
  4. mvc pathinfo 路由的解析原理
  5. 加快 Node.js 应用的启动速度
  6. 基于Springboot docker jenkins 自动化部
  7. MongoDB 4.X CRUD的基本操作说明
  8. 镜像格式:从 Knoppix 到 OCI-Image-v2
  9. 最热门的Linux桌面操作系统前十名
  10. 用一文了解 Kubernetes