1. android Studio中自定义标题栏的添加问题
mainifests中设置:
android:theme="@style/AppTheme"(即默认设置).
⒉values->styles.xml中设置:
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar".
二values->styles.xml中:
在当先使用的style的parent属性添加NoActionBar.如原先为
style name="AppTheme" parent="Theme.AppCompat.Light".
2. Android里为什么我自定义Title的时候会出现view组件变形的情况,怎么破。。。
是你的activity的theme改了,所以控件的风格也改了。
3. android开发中如何自定义标题栏
Android程序默认的Activity标题栏只能显示一段文字,而且不能改变它的布局、颜色、标题栏的高度等。如果想要在标题栏加上个图标、button、输入框、进度条、修改标题栏颜色等,只能使用自定义的标题栏。自定义标题栏可以通过在onCreate函数中添加以下代码来实现,需要注意的是代码的顺序必须按照下面的样式,否则将无效。
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.mainactivity); //Activity的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar); //标题栏的布局
虽然上面这样可以在标题栏加入一些控件,但是仍然不能改变标题栏的高度、背景色,要想达到这个目的,只能使用theme(主题)。因此往project里先添加一个style。改变背景色修改android:windowTitleBackgroundStyle的值,改变标题栏高度则修改android:windowTitleSize的值。下面是一个示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomWindowTitleBackground">
<item name="android:background">#</item>
</style>
<style name="activityTitlebar" parent="android:Theme">
<item name="android:windowTitleSize">32dp</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
接着再修改AndroidManifest.xml文件,找到要自定义标题栏的Activity,添加上android:theme值,比如:
Java代码
<activity android:name=".MainActivity" android:theme="@style/activityTitlebar">
<activity android:name=".MainActivity" android:theme="@style/activityTitlebar">
android:theme值就是上面那个style.xml文件里定义的一个style的name值。
按照以上的步骤,修改标题栏布局、高度、背景色的功能就实现了。
4. 如何将Android中的标题栏自定义
原装的Android标题栏配色比较单调,就是黑色的一坨,现在假设你的软件需要独自添加标题栏,这样不仅美观而且可以将进度条等加进去,如何实现:
方法一、在你的那张Activity中onCreate方法中加上下面代码:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main); //软件activity的布局
但是新的问题又来了,这样是无法深层的定制标题栏的,比如原有的高度和背景都没有发生变化,那有没有好的方法呢?答案是有的、
方法二:
因此先定义一个style,若修改背景请修改android:windowTitleBackgroundStyle
若修改标题栏高度,请修改android:windowTitleSize
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="CustomWindowTitleBackground">
<item name="android:background">#565656</item>
</style>
<style name="test" parent="android:Theme">
<item name="android:windowTitleSize">50dp</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
在程序的android_manifest.xml中对应activity中添加属性android:theme = "@style/test"
就可以了
<activity android:name=".Test"
android:theme = "@style/test" //就在这里
>
</activity>
之后借助于设置自定义的标题栏xml文件,就可以自定义标题栏布局了
5. android 自定义标题会改变背景颜色么
Activity会自动使用style.xml文件中定义的样式,只要对这些样式略作修改(继承需要的主题,重写特定属性)就可以达成比较简单的定制。
<style name=AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionBarStyle" >@style/myActionBarStyle</item>
</style>
<drawable name="BackBar">#d01938</drawable>
<style name="myActionBarStyle" parent="android:Widget.ActionBar" >
<item name="android:background">#D01839</item>
<item name="android:titleTextStyle">@style/AcBar_titleStyle</item>
</style>
<style name="AcBar_titleStyle">
<item name="android:textSize">18sp</item>
<item name="android:textColor">#FFFFFF</item>
</style>
</resources>
android:Widget.ActionBar是系统自定义的样式,包含的内容比较多。现在对这个样式中的背景色和标题色进行修改,android:background影响背景颜色,android:titleTextStyle影响标题的样式(因为有多项,所以要再引用一个自定义的样式)。
6. android自定义Theme,标题栏下出现一条蓝线,如何去掉
用了下面这种布局之后解决了
<resources>
<style name="customTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
<item name="android:windowBackground">@color/background</item>
<item name="android:actionOverflowButtonStyle">@style/</item>
</style>
<style name="CustomActionBarStyle" parent="@android:style/Widget.ActionBar">
<!-- Change action bar background color -->
<item name="android:background">@color/background</item>
<item name="android:titleTextStyle">@style/CustomTitleTextStyle</item>
</style>
<style name="CustomTitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<!-- Change action bar title color -->
<item name="android:textColor">#ffffff</item>
</style>
<style name="" parent="@android:style/Widget.Holo.Light.ActionButton.Overflow">
<!-- Change overflow button background color -->
<item name="android:background">@color/background</item>
</style>
</resources>
7. android 使用requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);来自定义标题,但是运行程序后就会出。
对于Activity系统会默认添加android:theme属性而这个默认的属性带有默认的title,所以你要覆盖这个属性,不然的话就相当于一个Activity有两个title所以会出现运行异常,新添加的theme属性值里面应该不能有有title。
将对应的Activity添加属性android:theme="@android:style/Theme.Light"可正常运行
8. 怎么自定义Android标题栏修改TitleBar的布局
Android程序默认的Activity标题栏只能显示一段文字,而且不能改变它的布局、颜色、标题栏的高度等。如果想要在标题栏加上个图标、button、输入框、进度条、修改标题栏颜色等,只能使用自定义的标题栏。自定义标题栏可以通过在onCreate函数中添加以下代码来实现,需要注意的是代码的顺序必须按照下面的样式,否则将无效。
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.mainactivity); //Activity的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar); //标题栏的布局
虽然上面这样可以在标题栏加入一些控件,但是仍然不能改变标题栏的高度、背景色,要想达到这个目的,只能使用theme(主题)。因此往project里先添加一个style。改变背景色修改android:windowTitleBackgroundStyle的值,改变标题栏高度则修改android:windowTitleSize的值。下面是一个示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomWindowTitleBackground">
<item name="android:background">#778899</item>
</style>
<style name="activityTitlebar" parent="android:Theme">
<item name="android:windowTitleSize">32dp</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
接着再修改AndroidManifest.xml文件,找到要自定义标题栏的Activity,添加上android:theme值,比如:
Java代码
<activity android:name=".MainActivity" android:theme="@style/activityTitlebar">
<activity android:name=".MainActivity" android:theme="@style/activityTitlebar">
android:theme值就是上面那个style.xml文件里定义的一个style的name值。
按照以上的步骤,修改标题栏布局、高度、背景色的功能就实现了。