Android 标题栏progressBar实例
2011-08-16 21:18
309 查看
如何改变android程序的标题栏呢?
在程序的界面Activity的onCreate()函数中,setContentView(R.id.main)之前设定你的标题的样式。其中
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)就是用户可以自己设定一个样式的标题栏。当 然requestWindowFeature()里面还有其他的样式可以设置,自己可以看下android源码里面Window类里面的参数。
接下来自己到res/layout下面创建一个layout。
java代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/screen"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/left_text"
android:gravity="center_vertical"
style="?android:attr/windowTitleStyle"
mce_style="?android:attr/windowTitleStyle"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingLeft="5dip"
android:layout_alignParentLeft="true" />
<TextView
android:id="@+id/right_text"
android:gravity="center_vertical"
style="?android:attr/windowTitleStyle"
mce_style="?android:attr/windowTitleStyle"
android:layout_width="wrap_content"
android:layout_height="fill_parent" android:paddingRight="5dip"
android:layout_alignParentRight="true"
android:visibility="gone" />
<LinearLayout
android:id="@+id/loading_indicator"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingTop="2dip"
android:layout_alignParentRight="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<TextView
android:id="@+id/loading_text"
android:gravity="center_vertical"
style="?android:attr/windowTitleStyle"
mce_style="?android:attr/windowTitleStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dip"
android:layout_alignParentRight="true" />
<ProgressBar
android:id="@android:id/progress"
style="?android:attr/progressBarStyleSmallTitle"
mce_style="?android:attr/progressBarStyleSmallTitle"
android:gravity="center_vertical"
android:paddingRight="5dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
复制代码
然后在setContentView(R.id.main)之后通过getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_test_title)去取得这个样式。
我这次是在标题栏的右边有个progressBar。用来Loading网页的,因此我一开始不想让progressBar显示出来,那可以用findViewById(R.id.loading_indicator).setVisibility(View.INVISIBLE)设定当前不显示。(onCreate()中的代码片段)
java代码:
class MyWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
findViewById(R.id.loading_indicator).setVisibility(View.VISIBLE);
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
findViewById(R.id.loading_indicator).setVisibility(View.INVISIBLE);
super.onPageFinished(view, url);
}
}
在程序的界面Activity的onCreate()函数中,setContentView(R.id.main)之前设定你的标题的样式。其中
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)就是用户可以自己设定一个样式的标题栏。当 然requestWindowFeature()里面还有其他的样式可以设置,自己可以看下android源码里面Window类里面的参数。
接下来自己到res/layout下面创建一个layout。
java代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/screen"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/left_text"
android:gravity="center_vertical"
style="?android:attr/windowTitleStyle"
mce_style="?android:attr/windowTitleStyle"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingLeft="5dip"
android:layout_alignParentLeft="true" />
<TextView
android:id="@+id/right_text"
android:gravity="center_vertical"
style="?android:attr/windowTitleStyle"
mce_style="?android:attr/windowTitleStyle"
android:layout_width="wrap_content"
android:layout_height="fill_parent" android:paddingRight="5dip"
android:layout_alignParentRight="true"
android:visibility="gone" />
<LinearLayout
android:id="@+id/loading_indicator"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingTop="2dip"
android:layout_alignParentRight="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<TextView
android:id="@+id/loading_text"
android:gravity="center_vertical"
style="?android:attr/windowTitleStyle"
mce_style="?android:attr/windowTitleStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dip"
android:layout_alignParentRight="true" />
<ProgressBar
android:id="@android:id/progress"
style="?android:attr/progressBarStyleSmallTitle"
mce_style="?android:attr/progressBarStyleSmallTitle"
android:gravity="center_vertical"
android:paddingRight="5dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
复制代码
然后在setContentView(R.id.main)之后通过getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_test_title)去取得这个样式。
我这次是在标题栏的右边有个progressBar。用来Loading网页的,因此我一开始不想让progressBar显示出来,那可以用findViewById(R.id.loading_indicator).setVisibility(View.INVISIBLE)设定当前不显示。(onCreate()中的代码片段)
java代码:
class MyWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
findViewById(R.id.loading_indicator).setVisibility(View.VISIBLE);
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
findViewById(R.id.loading_indicator).setVisibility(View.INVISIBLE);
super.onPageFinished(view, url);
}
}
相关文章推荐
- Android标题栏上添加多个Menu按钮的实例
- Android隐藏标题栏及解决启动闪过标题的实例详解
- Android 自定义标题栏的实例详解
- android自定义标题栏progressBar
- Android中ProgressBar用法简单实例
- [Android实例] 渐变标题栏效果(具体看效果图)
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用
- android用户界面之ProgressBar教程实例汇总
- android用户界面之ProgressBar教程实例汇总
- android用户界面之ProgressBar教程实例汇总
- android ProgressBar简单介绍及实例
- Android之scrollview滑动使标题栏渐变背景色的实例代码
- android用户界面之ProgressBar教程实例汇总
- Android 标题栏,状态栏放置一个ProgressBar
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用
- Android控件之ProgressBar用法实例分析
- Android ProgressBar直线进度条的实例代码
- Android 显示或隐藏标题栏进度条TitleProgressBar
- android Handler控制进度条(ProgressBar)实例