我的应用有自定义标题栏。
我编辑了values / styles.xml,使我的标题栏为45dp。 (下同)
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<style name="CustomTheme" parent="AppTheme">
<item name="android:windowTitleSize">45dp</item>
</style>
这是我自定义标题栏的布局(下方)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:background="@drawable/background_gradient"
android:gravity="center_vertical" >
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingLeft="7dp"
android:src="@drawable/info_icon"
android:layout_alignParentLeft="true" >
</ImageView>
<ImageView
android:layout_height="wrap_content"
android:paddingRight="7dp"
android:layout_width="wrap_content"
android:src="@drawable/info_icon"
android:layout_alignParentRight="true"
>
</ImageView>
</RelativeLayout>
这是我为上面的RelativeView设置的背景颜色的可绘制
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<gradient
android:type="linear"
android:centerX="49%"
android:startColor="#FFFF6417"
android:centerColor="#FFffffff"
android:endColor="#FFFF7308"
android:angle="315"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<gradient
android:type="linear"
android:centerX="49%"
android:startColor="#FFFF6417"
android:centerColor="#FFffffff"
android:endColor="#FFFF7308"
android:angle="315"/>
</shape>
Android清单文件:
在我正在执行的每项活动中
android:theme="@style/CustomTheme"
我相信我已经做好了一切。
但我得到了这个。我不知道为什么。
答案 0 :(得分:0)
尝试将此作为自定义标题栏的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:background="@drawable/background_gradient">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/info_icon"
android:src="@drawable/info_icon" >
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/info_icon" >
</ImageView>
</LinearLayout>
答案 1 :(得分:0)
您需要将actvity设为全屏,表示没有默认标题栏,然后设置自定义标题栏。通过这样做,灰色部分将被删除
requestWindowFeature(Window.FEATURE_NO_TITLE);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.notice_main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_bar);
在此之后,您可以正确设置左右边距的填充
答案 2 :(得分:0)
最好在style.xml中创建以下代码
<style name="WindowTitleBackground">
<item name="android:background">@drawable/titlebar_backgrnd</item>
</style>
以及在值
中的theme.xml中的以下代码<style name="customTheme" parent="android:Theme">
<item name="android:windowTitleSize">30dip</item>
<item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>
</style>