安卓 Activity主题theme设置

Posted zhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓 Activity主题theme设置相关的知识,希望对你有一定的参考价值。

android平台定义的主题样式:

android:theme="@android:style/Theme.Dialog"   将一个Activity显示为对话框模式

•android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏
•android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  不显示应用程序标题栏,并全屏

•android:theme="@android:style/Theme.Light"  背景为白色
•android:theme="@android:style/Theme.Light.NoTitleBar"  白色背景并无标题栏
•android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"  白色背景,无标题栏,全屏

•android:theme="@android:style/Theme.Black"  背景黑色
•android:theme="@android:style/Theme.Black.NoTitleBar"  黑色背景并无标题栏
•android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"    黑色背景,无标题栏,全屏

•android:theme="@android:style/Theme.Wallpaper"  用系统桌面为应用程序背景
•android:theme="@android:style/Theme.Wallpaper.NoTitleBar"  用系统桌面为应用程序背景,且无标题栏
•android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"  用系统桌面为应用程序背景,无标题栏,全屏

•android:theme="@android:style/Translucent" 半透明效果
•android:theme="@android:style/Theme.Translucent.NoTitleBar"  半透明并无标题栏
•android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"  半透明效果,无标题栏,全屏
•android:theme="@android:style/Theme.Panel"

Android平台定义了三种字体大小:

"?android:attr/textAppearanceLarge"
"?android:attr/textAppearanceMedium"
"?android:attr/textAppearanceSmall"

Android字体颜色:

android:textColor="?android:attr/textColorPrimary"
android:textColor="?android:attr/textColorSecondary"
android:textColor="?android:attr/textColorTertiary"
android:textColor="?android:attr/textColorPrimaryInverse"
android:textColor="?android:attr/textColorSecondaryInverse"

Android的ProgressBar样式:

style="?android:attr/progressBarStyleHorizontal"
style="?android:attr/progressBarStyleLarge"
style="?android:attr/progressBarStyleSmall"
style="?android:attr/progressBarStyleSmallTitle"

 

分隔符

横向:

<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="?android:attr/listDivider" />


纵向:

<View android:layout_width="1dip"
android:layout_height="fill_parent"
android:background="?android:attr/listDivider" />

 

CheckBox样式  

style="?android:attr/starStyle"


类似标题栏效果的TextView
style="?android:attr/listSeparatorTextViewStyle"

其它有用的样式
android:layout_height="?android:attr/listPreferredItemHeight"
android:paddingRight="?android:attr/scrollbarSize"
style="?android:attr/windowTitleBackgroundStyle"
style="?android:attr/windowTitleStyle"
android:layout_height="?android:attr/windowTitleSize"
android:background="?android:attr/windowBackground"

 

修改Activity的标题栏样式

如在styles.xml中增加
<resources> 
    <style name="AutoWindowTitleBackground"> 
        <item name="android:background">#778899</item> 
    </style> 
    <style name="autoWindowTitlebar" parent="android:Theme"> 
        <item name="android:windowTitleSize">32dp</item>
        <item name="android:windowTitleBackgroundStyle">@style/AutoWindowTitleBackground</item>
    </style> 
</resources>
接着再修改AndroidManifest.xml文件,找到要自定义标题栏的Activity,添加上android:theme值,比如:
<activity android:name=".MainActivity" android:theme="@style/autoWindowTitlebar">

 

去掉所有Activity界面的标题栏
修改AndroidManifest.xml

在application 标签中添加android:theme=”@android:style/Theme.NoTitleBar”--针对继承Activity的类有效。android:theme="@style/Theme.AppCompat.Light.NoActionBar"针对于继承AppCompatActivity的有效

原文:http://www.cnblogs.com/guxingzhe/p/4857336.html

方法一:
通过Theme.Translucent
[java] view plain copy
@android:style/Theme.Translucent  
@android:style/Theme.Translucent.NoTitleBar  
@android:style/Theme.Translucent.NoTitleBar.Fullscreen  

只需要在Manifest中需要透明的Activity内设置theme为以上任意一个就可以了
[java] view plain copy
<activity  
    android:name="com.vixtel.simulate.MainApp"  
    android:configChanges="keyboardHidden|orientation"  
    android:label="@string/app_name"  
    android:screenOrientation="portrait"  
    android:theme="@android:style/Theme.Translucent.NoTitleBar" >  
    <intent-filter>  
        <action android:name="android.intent.action.MAIN" />  
  
        <category android:name="android.intent.category.LAUNCHER" />  
    </intent-filter>  
</activity>  


方法二:
自定义style,就像自定义Dialog的style一样,在res-values-color.xml中添加透明颜色值:
[java] view plain copy
<?xml version="1.0" encoding="UTF-8"?>  
<resources>  
  
    <color name="transparent">#0000</color>  
  
</resources>  

在res-values-styles.xml中添加如下:
[java] view plain copy
<style name="myTransparent">  
    <item name="android:windowBackground">@color/transparent</item>  
    <item name="android:windowNoTitle">true</item>  
    <item name="android:windowIsTranslucent">true</item>  
    <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>  
</style>  

在Manifest中中需要透明的Activity内设置theme为我们自定义的即可
[java] view plain copy
android:theme="@style/myTransparent"  

原文:http://blog.csdn.net/mad1989/article/details/38122713/  

参考:http://blog.csdn.net/hongya1109110121/article/details/11985545

  

以上是关于安卓 Activity主题theme设置的主要内容,如果未能解决你的问题,请参考以下文章

安卓怎么把activity做成dialog

Android开发基础应用界面主题Theme使用方法

Activity设置背景透明之开发坑

Android 主题theme说明 摘记

Activity的主题是Theme.AppCompat.Light.NoActionBar,调用Activity的setTitle结果是啥?

怎样将android控件背景设置成透明?