Android ApiDemos详解之App/Activity/Custom Title(1)
来源:互联网 发布:centos cp 文件夹 编辑:程序博客网 时间:2024/05/30 23:29
转载:http://blog.csdn.net/heraclesapollo/article/details/7081535
Android ApiDemos详解之App->Activity->Custom Title
开始之前需要先给大家解释一下,前两篇文章所用的都是2.3.3,但为了紧跟潮流,从这篇文章开始,SDK版本一致采用4.0,OK继续。
先来看看该例实现的功能:
(1).点击Custom Title
(2).该例子的布局包括如下两排控件,每一排都是由左边的一个EditText和右边的一个Button组成。功能为:点击”B2”,则将”A1”处文字改变为”B1”内的内容;同样,点击”C2”,则将”A2”处文字改变为”C1”内的内容。
看完该示例的功能图后先来分析一下Custom Title(继承Activity)内的主要代码:
- public class CustomTitleextends Activity {
- @Override
- 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);
- 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 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());
- }
- });
- }
- }
其中在
- setContentView(R.layout.custom_title)
- requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
1.DEFAULT_FEATURES:系统默认状态,一般不需要指定
2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定
3.FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时
4.FEATURE_INDETERMINATE_PROGRESS:不确定的进度
5.FEATURE_LEFT_ICON:标题栏左侧的图标
6. FEATURE_RIGHT_ICON:标题栏右侧的图标
7.FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启用。
8.FEATURE_PROGRESS:进度指示器功能
9. FEATURE_NO_TITLE:无标题
本例中的Window.FEATURE_CUSTOM_TITLE指的就是“自定义标题”。其中需要注意的是:
- requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
- setContentView(R.layout.custom_title);
下面来看
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.custom_title_1);
这一句是用来设置指定特征的特征值,在本例中则是为自定义窗体设置自定义的窗体布局。R.layout.custom_title_1这一id引用的则是layout/custom_title_1.xml布局文件,内容很简单,就是两个横向排列的TextView,代码如下:
- <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>
这里需要解释的一点是,虽然大家看到父容器RelativeLayout的android:orientation属性设置的值是”vertical”也即就是垂直排布元素,但是该容器内的两个TextView分别设置了android:layout_alignParentLeft="true"和android:layout_alignParentRight="true",因而也就分属于父容器的左右两侧了。
而在代码中的leftText和rightText这两个TextView,就是分别映射对应着上述布局文件中的左右两个TextView。
剩下的代码就非常简单了,两个按钮注册监听器,点击Change Left按钮,通过leftTextEdit.getText()方法获取EditText内的内容,并用leftText.setText()方法填充到窗体左边的显示状态上;点击ChageRight道理相同。
- Android ApiDemos详解之App/Activity/Custom Title(1)
- Android ApiDemos详解之App/Activity/Custom Title(1)
- Android ApiDemos详解之App->Activity->Custom Title
- Android ApiDemos详解之App/Activity/Custom Dialog(2)
- Android ApiDemos详解之App/Activity/Custom Dialog(2)
- Android ApiDemos示例解析(5):App->Activity->Custom Title
- Android ApiDemos示例解析(5):App->Activity->Custom Title
- Android ApiDemos详解之App/Activity/Animation(3)
- Android ApiDemos详解之App/Activity/Dialog(4)
- Android ApiDemos详解之App/Activity/Forwarding(5)
- Android ApiDemos详解之App/Activity/Animation(3)
- Android ApiDemos示例解析(4):App->Activity->Custom Dialog
- Android ApiDemos示例解析(4):App->Activity->Custom Dialog
- 0003-APP-Activity-custom-title
- ApiDemos之Custom
- 安卓Api Demo学习 App/Activity/Custom Title
- 【起航计划 006】2015 起航计划 Android APIDemo的魔鬼步伐 05 App->Activity->Custom Title 自定义标题栏
- [Android Samples视频系列之ApiDemos] App
- PHP基础 类与对象
- 自考感受
- hdu 3342 拓扑排序
- Linux 磁盘管理2——/etc/fstab 文件解释
- PDO数据库抽象层
- Android ApiDemos详解之App/Activity/Custom Title(1)
- hdoj 1017(水题)
- 类的析构
- 3.mini2440的nandflash读写(裸机)
- hdu1208-Pascal's Travels
- 经验谈
- x264参数介绍
- 设计模式解析(五)——几种设计模式之Strategy
- Python——UnicodeEncodeError: 'ascii' codec can't encode/decode characters