如何把定制的UI布局放到Activity主窗口的标题中
来源:互联网 发布:ug数控编程手机壳 编辑:程序博客网 时间:2024/05/19 14:02
本例演示如何把一个自定义的UI布局放到的Activity主窗口的布局中,并替换默认的标题。
1. 定义清单文件(AndroidManifest.xml)
<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="my.android.test"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon"android:label="@string/app_name">
<!-- 用android:windowSoftInputMode属性设置Activity主窗口与软键盘的交互模式
stateVisible:软键盘在适当的时候是可见的,通常是在用户用户进入Activity主窗口,准备输入的时候
adjustPan:Activity主窗口不会针对软键盘调整尺寸,而是在软键盘遮挡住当前输入域时,自动的平移
Activity窗口的内容,以便用户能够看到输入域。
-->
<activity android:name=".CustomTitle"
android:label="@string/app_name"
android:windowSoftInputMode="stateVisible|adjustPan">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="9"/>
</manifest>
2. 定义字符串资源(strings.xml)
<?xmlversion="1.0"encoding="utf-8"?>
<resources>
<string name="hello">Hello World, CustomTitle!</string>
<string name="app_name">CustomTitle</string>
<string name="custom_title_left">Left is best</string>
<string name="custom_title_right">Right is always right</string>
<string name="custom_title_left_button">Change Left</string>
<string name="custom_title_right_button">Change Right</string>
</resources>
3. 定义Activity的主窗口布局(custom_title.xml)
<?xmlversion="1.0"encoding="utf-8"?>
<!-- Activity主窗口布局,含有两个文本输入域和两个按钮 -->
<LinearLayoutxmlns: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">
<!-- android:baselineAligned=false防止布局跟它的子对象的基线对齐 -->
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false">
<!-- android:maxEms设定最大的字符宽度
android:minEms设定最小的字符宽度
android:layout_gravity设置布局的重心
-->
<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>
4. 定义窗口标题的布局(custom_title_1.xml)
<?xmlversion="1.0"encoding="utf-8"?>
<!-- 使用这个布局替代默认的Activity窗口标题 -->
<RelativeLayoutxmlns: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">
<!-- 居左显示文本。android:layout-alignParentLeft="true" -->
<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"/>
<!-- 居右显示文本。android:layout-alignParentRight="true" -->
<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>
5. 创建Activity类(CustomTitle.java)
package my.android.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
publicclass CustomTitleextends Activity {
/** Activiy首次创建时,调用这个方法*/
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//请求修改窗口的标题
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
//填充布局
setContentView(R.layout.custom_title);
//用自定义的布局替换默认的Activity主窗口的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);
//获取自定义标题中左侧的文本View对象
final TextView leftText = (TextView)findViewById(R.id.left_text);
//获取自定义标题中右侧的文本View对象
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 leftButton = (Button)findViewById(R.id.left_text_button);
//获取确认右侧标题编辑结果的按钮对象
Button rightButton = (Button)findViewById(R.id.right_text_button);
//设置leftButton按钮的Click点击事件监听器
leftButton.setOnClickListener(new OnClickListener() {
publicvoid onClick(View v){
leftText.setText(leftTextEdit.getText());
}
});
//设置rightButton按钮的Click点击事件监听器
rightButton.setOnClickListener(new OnClickListener(){
publicvoid onClick(View v){
rightText.setText(rightTextEdit.getText());
}
});
}
}
- 如何把定制的UI布局放到Activity主窗口的标题中
- qt中如何把插件中的窗口布局到UI设计师的窗口上
- 如何把Activity的布局文件添加至窗口
- 如何把编译之后的Launcher2.apk放到模拟器中
- 多文档应用程序中 如何定制视图的标题?
- Ubuntu把关闭窗口按键放到右边的详解
- 如何自定义activity窗口标题!!
- APIDEMO ACTIVITY 窗口Window标题的设置
- 3.20如何定制视图的标题?
- 由电脑缺扫雷游戏想到的: 如何把自己的.exe放到系统中?
- 由电脑缺扫雷游戏想到的: 如何把自己的.exe放到系统中?
- 关于如何把ResultSet中查询到的值放到自定义实体中的方法讨论
- 如何把得到的结果集放到map集合中+取得列和值ResultSetMetaData
- MFC程序中文档标题、主窗口标题、子窗口标题的改变
- 如何把自己的JavaWeb放到自己的服务器上
- 在MFC中定制视图的标题
- 启动一个子Activity,把Activity生成的View加载在当前的View布局中
- 如何创建定制的 BlackBerry UI Field
- UIApplication sharedApplication
- VidSaverService
- VC 所有的窗口样式
- VidSaverService 2
- Java基础笔记之多线程(一)
- 如何把定制的UI布局放到Activity主窗口的标题中
- 40 留意架构图里的空白区域
- int ascii_to_integer(char *string)
- linux创建用户命令
- IoGetDeviceObjectPointer
- 书写strcpy的源码
- sizeof详解
- C 输入输出 读取 回显 缓冲
- HDU 4217 树状数组+二分查找