您的位置:首页 > 移动开发 > Android开发

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

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: