Android开发自定义 标题栏 titlebarWord文件下载.docx
- 文档编号:17963298
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:10
- 大小:174.33KB
Android开发自定义 标题栏 titlebarWord文件下载.docx
《Android开发自定义 标题栏 titlebarWord文件下载.docx》由会员分享,可在线阅读,更多相关《Android开发自定义 标题栏 titlebarWord文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
LinearLayout
xmlns:
Android="
android:
orientation="
horizontal"
layout_width="
fill_parent"
layout_height="
wrap_content"
<
ImageView
android:
src="
@drawable/magnifier"
gravity="
bottom"
/>
TextView
38dip"
text="
@string/app_name"
textColor="
#FFFFFFFF"
textSize="
14dip"
paddingTop="
1dip"
EditText
id="
@+id/searchparameter"
ABCDEFGHIJ"
layout_margin="
Buttonandroid:
@+id/button"
OK"
/LinearLayout>
在上面的LinearLayout中,增加了以下控件:
一个ImageView,用于显示一个图标
一个TextView,用于显示应用的名称
一个EditText,用于接收输入
一个Button,用于测试
4.
修改CustomizeTitlebar.java,使之如下:
publicclassCustomizeTitlebarextendsActivity
{
@Override
publicvoidonCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar);
}
}
以上加粗的两行很重要,而且必须要严格按照上面那样的顺序出现在代码中。
即:
必须出现在super.onCreate(savedInstanceState);
之后,setContentView(R.layout.main);
之前。
其意思就是告诉系统,本程序要自己定义Titlebar;
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar);
则必须出现在setContentView之后,其意思就是告诉系统,自定义的布局是R.layout.titlebar(即,我们前面编写的titlebar.xml)
到这里,不妨来运行一下,看看结果如何:
我们看到,Titlebar基本上按照我们的意思进行了改变,但也存在着一个缺陷:
Titlebar太窄了,那么怎样改变Titlebar的高度呢?
5.
要改变Titlebar的高度,我们得先创建styles.xml:
编辑styles.xml,使其内容如下:
resources>
stylename="
titlebarstyle"
parent="
Android:
Theme"
itemname="
windowTitleSize"
38dip<
/item>
/style>
/resources>
上面<
39dip<
这一句,就是用来设定Titlebar的高度的。
6.
在上面的基础上,我们需要修改AndroidManifest.xml中,相应Activity的属性。
如下:
manifestxmlns:
android="
package="
com.pat.customizetitlebar"
versionCode="
1"
versionName="
applicationandroid:
icon="
@drawable/icon"
label="
activityandroid:
name="
.CustomizeTitlebar"
theme="
@style/titlebarstyle"
intent-filter>
actionandroid:
android.intent.action.MAIN"
/>
categoryandroid:
android.intent.category.LAUNCHER"
/intent-filter>
/activity>
/application>
uses-sdkandroid:
minSdkVersion="
8"
/manifest>
注意粗体字是新增上去的,其中的titlebar是在第5步中增加的。
现在来看看运行结果:
可以看到结果完全符合了我们的要求。
7.
我们还可以改变Titlebar的背景颜色。
为此我们修改前面的styles.xml,使之如下:
xmlversion="
CustomizedWindowTitleBackgroundColor"
background"
#047BF0<
windowTitleBackgroundStyle"
@style/CustomizedWindowTitleBackgroundColor<
注意,其中的粗体字是新增加的。
项目其他文件,均无需变动。
运行结果如下:
8.
最后,我们以OK按钮为例来测试Titlebar上的控件的事件响应。
为此,修改CustomizeTitlebar.java,使之如下:
implements
OnClickListener
privateButtonbutton;
button=(Button)findViewById(R.id.button);
button.setOnClickListener(this);
publicvoidonClick(Viewv)
if(v.getId()==R.id.button)
Toast.makeText(this,"
OKbuttoninTitlebarclicked..."
Toast.LENGTH_LONG).show();
粗体字部分是新增加的代码。
重新运行本项目,等界面出来后,点击Titlebar上的OK按钮,将出现:
这说明,Titlebar上自己增加上去的控件,可以很好地响应相关的事件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android开发自定义 标题栏 titlebar Android 开发 自定义