如何改变android程序的标题栏呢?

在程序的界面Activity的onCreate()函数中,setContentView(R.id.main)之前设定你的标题的样式。其中

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)就是用户可以自己设定一个样式的标题栏。当然requestWindowFeature()里面还有其他的样式可以设置,自己可以看下android源码里面Window类里面的参数。

接下来自己到res/layout下面创建一个layout。

附上我的自己的一个layout(custom_test_title.xml)。

<?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()中的代码片段)

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_test_title); findViewById(R.id.loading_indicator).setVisibility(View.INVISIBLE);

最后就是在你需要调用它的时候调用就行了。贴上一个我取webview的代码

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); } }

我在读取网页开始的时候把标题栏上的progressBar表示出来。然后网页表示完了就把标题栏的progressBar重新给隐藏了。

ps:第一次发博客。还望大家指正

更多相关文章

  1. Activity使用Dialog样式导致点击空白处自动关闭的问题
  2. 今晚没看完的几个网页,主要是alarm和一个UI设计
  3. Android(安卓)将Activity设为Dialog样式,并铺满全屏
  4. 解决WebView里面,焦点到编辑框上,网页字体变大
  5. Android中自定义底部弹出框ButtomDialog
  6. Android(安卓)通过网页打开自己的APP(scheme)
  7. Android--通知之Notification
  8. 推荐Android15个常用的图表库,包含线性,条形柱状,饼状图,扇形,雷达,股
  9. android checkbox自定义样式

随机推荐

  1. Android中图片的放大和缩小源码
  2. Android文件读写
  3. 为手机定制ROM
  4. View的XML 属性大全(官方文档)
  5. 捕获Android运行时改变
  6. Android反射工具类ReflectUtil
  7. android dialog 显示时弹出输入法
  8. Android日期对话框
  9. Android:在WebView中获取网页源码
  10. android之camera用法实例详解