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值。
按照以上的步驟,修改標題欄布局、高度、背景色的功能就實現了。