android标题栏添加按钮_Android样式和主题

Style 样式

1、Style样式可以为View或者窗口指定统一的外观和格式。比如可以指定:宽高尺寸、字体颜色、字号、背景颜色等属性。

2、方式:style可以通过在xml资源文件中进行定义,然后在布局文件或者代码中进行引用。

3、定义样式:在res/values/目录中创建styles.xml文件,在该xml文件中实现style的定义。

<?xml version="1.0" encodeing="utf-8"?>

4、Style样式是可以继承的,通过style标签中的parent属性指定新定义的样式所继承的样式。parent继承的是系统的一些style样式。继承是可选的,可以选择继承,也可以选择不继承。

5、自定义的Style样式继承:可以通过”.“符号进行自定义的属性继承,在继承的基础上,进行属性的自定义修改。

<?xml version="1.0" encodeing="utf-8"?>

6、设计style样式的目的:在复杂多样式的控件使用和项目应用中,保持统一的格式和展现效果,同时降低维护成本。

7、样式的使用:

  • 单个控件使用样式:在布局文件中,使用控件的地方,添加style属性。
  • 对Activity窗口或者应用使用样式:在AndroidMainfest.xml文件中为<activity>或者<application>元素添加android:theme属性。

1、View控件使用Style样式

在使用控件的xml布局文件中,引用样式名称。例如

<TextView 
          

2、对Activity或者应用使用Style

Activity或者整个应用使用Style时,成为之主题:Theme。

使用时需要在AndroidMainfest.xml文件中进行编辑,添加带有样式名称的android:theme属性。例如

2.1 application应用级别的主题

<application 

2.2 Activity级别的主题

对应用中的某一个Activity使用style主题,修改AndroidMainfest.xml文件中的<activity>标签中的android:theme属性即可。

<activity 

3、Theme的变化和版本区别

3.1 普通的Theme主题

最常见的普通的Theme主题是:

@android:style/Theme.xxx

3.2 Materail Design主题 API:21

material:材料,原料,材质。Android 5.0系统开始,推广的一种新的设计风格,在android流行起Materail Design风格以后,android系统中的主题也提供了相应的支持:

@android:style/Theme.Material.xxx

3.3 v7包中的AppCompat主题

在5.0以后,android推出了appcompat-v7支持包,主要是有一些新控件,在该支持包中,有相应的主题支持:

@style/Theme.Appcompat.xxx

目前,所有的Activity均继承自AppCompatActivity,使用的主题也大多是AppCompat的主题。

4、Android界面的组成

4.1 状态栏 StatusBar

手机屏幕的最顶端显示信号,时间,wifi等信息,android系统当中称之为StatusBar。

4.2 标题栏 TitleBar

标题栏位于状态栏的下方,正常情况下标题栏的布局和主题样式都是使用系统定义好的。

4.3 操作栏 ActionBar

ActionBar又称之为操作栏,操作栏是Android 系统在3.0以后的SDK中引入的,操作栏的作用是取代标题栏,操作栏和标题栏一样紧挨在状态栏的下方。

注意:ActionBar是Android 3.0及以上的SDK才引入的,需要设置minSDKVersion = "11",即最小sdk需要大于11版本。另外,支持ActionBar的主题是Theme.Holo及其子主题,包含ActionBar。

4.4 工具栏 ToolBar

在2015年Google的IO开发者大会上,发布了关于Material Design风格的控件,其中ToolBar控件替代了ActionBar控件。ActionBar的碎片化问题比较严重,因此ToolBar替换了ActionBar。

ToolBar在显示上与ActionBar并没有什么区别,不同之处在于使用Toolbar可以修改状态栏的颜色。

4.5 导航栏 NavigationBar

Android系统界面中的底部导航栏,底部的虚拟按键。

daf2358a4f57b13212d5b91714c446a3.png

5、系统提供的常用Style和主题

常见的一些系统提供的主题,举例如下:

  • 背景透明:@android:style/Theme.Translucent
  • Activity的Dialog主题:@android:style/Theme.Dialog
  • 不显示标题栏:@android:style/Theme.NoTitleBar
  • 背景白色:@android:style/Theme.Light
  • Holo背景白色:@android:style/Theme.Holo.Light,适用于弹出的对话框的背景是黑色的,需要设置成该主题属性。

除此之外,还可以两个或者多个相互组合,比如:

  • 无标题栏,并全屏:@android:style/Theme.NoTitleBar.Fullscreen
  • 白色背景且无标题栏:@android:style/Theme.Light.NoTitleBar
  • 透明背景且无标题栏:@android:style/Theme.Translucent.NoTitleBar

除此之外,还有很多,可以根据需要进行选取尝试和设置。

4、style中常见的item的属性

4.1 window的item属性

  • android:windowNoTitle:是否有标题栏,可选值为true/false
  • android:windowFullScreen:是否为全屏,可选值为true/false
  • android:windowIsTranslucent:window是否为全屏,可选值为true/false
  • android:windowBackground:window的背景颜色
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android标题栏是指在应用程序顶部显示的包含应用程序名称、操作按钮和其他功能的栏。如果我们不需要标题栏,可以通过两种方法来去除。第一种方法是在代码中实现,可以通过在Activity的onCreate方法中调用requestWindowFeature(Window.FEATURE_NO_TITLE)来去除标题栏。第二种方法是在AndroidManifest.xml配置文件中实现,可以在注册Activity时添加android:theme="@android:style/Theme.NoTitleBar"来去除标题栏。\[1\]\[2\] 另外,如果只需要在单个页面隐藏ActionBar,可以在AndroidManifest.xml中的application标签中添加android:theme="@style/Theme.AppCompat.Light.NoActionBar"来隐藏ActionBar。同时,在页面布局中添加ToolBar来替代ActionBar,可以在LinearLayout中添加androidx.appcompat.widget.Toolbar来实现。在MainActivity.java中,可以设置ToolBar的属性来自定义标题栏样式和功能。\[3\] #### 引用[.reference_title] - *1* *2* [Android去掉标题栏方法](https://blog.csdn.net/qq_41953685/article/details/103148994)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Android 标题栏及导航栏设计与实现](https://blog.csdn.net/qq_52108058/article/details/127794966)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值