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. Android百分比布局支持库
  3. 探讨相对布局的重要特性和属性
  4. android布局参照示例_约束布局Android示例–第2部分
  5. android布局文件中的include
  6. 浅谈RelativeLayout相对布局
  7. Android Studio 3.5.1 在项目的build.gradle中添加百分比布局库
  8. Android自定义Dialog(自定义主题、自定义布局)
  9. Android 的整体布局

随机推荐

  1. 如何在php中为json数组创建搜索功能
  2. 矩形嵌套 DP 南阳理工 http://acm.nyist.
  3. 更新日期字段时为空 - MySQL PHP
  4. Centos如何通过yum安装php7
  5. 将STR_TO_DATE格式化为日期
  6. php扫马、内网查mysql数据库账号密码(内网
  7. PHP常量PHP_SAPI与函数php_sapi_name()简
  8. php环境中的ini配置
  9. php 多进程 父进程的阻塞与非阻塞
  10. php 发送http post请求