如何控制android标题栏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何控制android标题栏
老狼post in [Android(java)] 2012-5-10 13:35 Thursday
如何很好的控制android的标题栏,前段时间其实我实现过部分,但是仅限于把标题栏视图增加几个等。
今天突然想变变色,但发现不能全填充,网上找了下,综合说明一下。
android标题栏用的视图是:
<LinearLayout xmlns:android="/apk/res/android"
android:orientation="vertical"
android:fitsSystemWindows="true">
<!-- Popout bar for action modes -->
<ViewStub android:id="@+id/action_mode_bar_stub"
android:inflatedId="@+id/action_mode_bar"
android:layout="@layout/action_mode_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout android:id="@android:id/title_container"
android:layout_width="match_parent"
android:layout_height="?android:attr/windowTitleSize"
style="?android:attr/windowTitleBackgroundStyle">
</FrameLayout>
<FrameLayout android:id="@android:id/content"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:foregroundGravity="fill_horizontal|top"
android:foreground="?android:attr/windowContentOverlay" />
</LinearLayout>
其实我们能够改变的是“content”,具体操作是:
Window win = getWindow();
win.requestFeature(Window.FEATURE_CUSTOM_TITLE);
win.setFeatureInt(Window.FEATURE_CUSTOM_TITLE, yout.title);
其中yout.title用来替换content(具体是替换还是成为子view没有研究).
注意到每个activity都有一个android:theme="@style/maintheme",我们可以通过控制这个来控制整个android的显示,标题栏自然不言而喻。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="maintheme" parent="android:style/Theme">
<item name="android:windowTitleStyle">@style/XWindowTitle</item> <item
name="android:windowTitleBackgroundStyle">@style/StatusBarBackground</item>
<item name="android:windowContentOverlay">@null</item>
</style>
</resources>
<style name="StatusBarBackground">
<item name="android:background">#000000</item>
</style>
<style name="XWindowTitle"
parent="@android:style/TextAppearance.WindowTitle"> <item name="android:shadowColor">#BB000000</item> <item name="android:shadowRadius">0</item> </style>
这样便能很好地完成任务。