Android 样式小结

这篇具有很好参考价值的文章主要介绍了Android 样式小结。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

Android 样式小结,Android基础,android

一、导读

我们继续总结学习Android 基础知识,温故知新。

本文讲述样式相关知识 。

二、概览

样式可以定义界面的格式和外观。样式可应用于单个 View(从布局文件中)或应用于整个 Activity 或应用(从清单文件中)。
样式是使用 name 属性中提供的值(不是 XML 文件的名称)引用的简单资源。因此,可以在一个 XML 文件中将样式资源与其他简单资源合并到一个 元素下。

样式是一个属性集合,用于指定单个 View 的外观。样式可以指定字体颜色、字号、背景颜色等属性。

主题和样式有许多相似之处,但其用途不同,后面我们具体讲解一下。

三、使用

所有样式文件定义在下面这个目录:

res/values/filename.xml

文件名可以任意设置。元素的 name 将用作资源 ID
该文件通常命名为 styles.xml

语法

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style
        name="style_name"                                  样式的名称
        parent="@[package:]style/style_to_inherit">        样式资源。对此样式应从中继承样式属性的样式的引用
        <item                                              定义样式的单个属性。必须是 <style> 元素的子元素
            name="[package:]style_property_name" 
            >style_value</item>
    </style>
</resources>

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

3.1 创建并应用样式

打开项目的 res/values/styles.xml 文件,按以下步骤操作:

  1. 使用唯一标识样式的名称添加

eg:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="CustomText" parent="@style/Text">
        <item name="android:textSize">20sp</item>
        <item name="android:textColor">#008</item>
    </style>
</resources>

使用

<?xml version="1.0" encoding="utf-8"?>
<EditText
    style="@style/CustomText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello, World!" />

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

3.2 创建并应用主题

可以像创建样式一样创建主题背景,简直一模一样,只是我们使用的位置不同而已,主题主要应用在** 标记或 **上,
使用 android:theme 属性来引用,然后应用或 Activity 中的每个视图都会应用指定主题背景中定义的样式

<manifest ... >
    <application android:theme="@style/Theme.AppCompat" ... >
    
        <activity android:theme="@style/Theme.AppCompat.Light" ... >
        
    </application>
</manifest>


Android 提供了多种在整个 Android 应用中设置属性的方法。例如,您可以直接在布局中设置属性,将样式应用到视图,将主题背景应用到布局,以及以编程方式设置属性。
所以这些设置方式是有优先级的,下面的列表将决定最终应用哪些属性。该列表按照优先级从高到低的顺序排序:

  1. 通过文本 span 将字符或段落级样式应用到 TextView 派生的类
  2. 以编程方式应用属性
  3. 将单独的属性直接应用到 View
  4. 将样式应用到 View
  5. 默认样式
  6. 将主题背景应用到 View 集合、Activity 或整个应用
  7. 应用某些特定于 View 的样式,例如为 TextView 设置 TextAppearance

3.3 ? & @ 符号引用

我们先看个例子,同样是color的引用,一个使用@,一个使用 ?,那他们到底有什么区别呢?


    <TextView
        android:textColor="@color/standard_font" />

    <TextView
        android:textColor="?attr/darkColor_ffeaeaea"/>

“@”表示引用资源,声明这是一个资源引用,格式为:@[package:]type/name

“?”表示引用主题属性,格式为:?[namespace:]type/name
问号表示:该属性是当前Theme定义的一个属性,所以系统将在当前Theme中查找其参数。
以上面的例子来解析,

  1. 从AndroidManifest.xml里面找到应用的主题为: android:theme=“@style/AppTheme”
  2. 在AppTheme主题里面可以找到darkColor_ffeaeaea属性:
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
……
        <item name="darkColor_ffeaeaea">@color/colorPrimary</item>
……

如果是应用内定义的属性,[namespace:]type可以省略,
如:

android:background=“?attr/colorPrimary”

可以简写为:

android:background=“?colorPrimary”

如果是引用系统定义的属性,则不能省略:

android:background=“?android:attr/colorPrimary”

样式

五、 推荐阅读

Java 专栏

SQL 专栏

数据结构与算法

Android学习专栏

Android 样式小结,Android基础,android文章来源地址https://www.toymoban.com/news/detail-753299.html

到了这里,关于Android 样式小结的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • android自定义按钮样式

     在android studio的layout中新建一个.xml文件,设置一个按钮,如下 再新建一个Android Resource File文件 文件名为自定义,Root element为shape   最后,在button.xml文件中自定义按钮的背景颜色和弧度

    2024年02月06日
    浏览(61)
  • Android 更改鼠标样式

    鼠标风格定义位置: frameworksbasecoreresresvaluesstyles.xml 系统定义了两套鼠标的风格,一套是默认,一套是放大的图标的风格,在下面增加自己的鼠标风格图标 这里只更改了默认,在按钮上和在文本上的鼠标样式,其他的与默认保持一致 以默认图标为例:增加文件 framewo

    2024年02月09日
    浏览(31)
  • Android 主题 vs 样式

    关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 我们继续总结学习 基础知识 ,温故知新。 本文我们总结下 android主题与样式的异同。 Android样式系统

    2024年02月07日
    浏览(41)
  • Android设置夜间模式的主题样式

    在 Android 中设置夜间模式,你需要创建一个名为  values-night  的资源文件夹,并在这个文件夹下放置一个与  values  文件夹中的样式文件相对应的主题配置文件。这样系统会根据设备的当前模式(日间或夜间)自动选择合适的主题。 以下是如何设置夜间模式主题的基本步骤:

    2024年01月18日
    浏览(42)
  • 【Android】CheckBox的自定义样式和使用

    在登录页面。我们需要有一个复选框,让用户进行勾选,同意我们的流氓政策和协议,不然就不让用。 未选择 已选择 我们知道,这个CheckBox的默认样式是一个正方形,现在改成一个圆形的话,首先需要准备两个图案。 创建一个文件 baseline_checked_circle_24.xml 这个文件长这样 再

    2024年02月13日
    浏览(60)
  • Android style(样式) 和 theme(主题) 属性

            样式和主题资源都可用于对Android UI组件进行“美化”,只要充分利用好这两个属性资源,我们可以开发出各种风格的应用界面。         style 样式: 一个样式相当于多个格式的集合,其他UI组件通过style属性来指定样式,样式资源文件时放在/res/values/styles.xm

    2023年04月12日
    浏览(77)
  • Android Studio开发之路(八)Spinner样式设置

    白色背景+显示下拉框按钮 问题: 设置Spinner的背景可以通过设置background: android:background=\\\"@color/white\\\" ,但是一旦设置了这个值,右侧的下拉按钮就会消失 在drawable中添加一个spinner_style.xml,并添加以下内容,然后在布局文件中的Spinner中添加Style 这里@drawable/ic_dropdown是一个下拉按

    2024年04月28日
    浏览(32)
  • Android自定义ProgressBar样式(Shape实现转动的圆环)

    最终效果 第一步:在drawable文件夹下新建一个xml文件叫progressbar_shape.xml,代码如下: progressbar_shape.xml 第二步:在ProgressBar中使用indeterminateDrawable属性引用上面的xml文件 你布局里的ProgressBar

    2024年02月01日
    浏览(41)
  • Android 13.0仿ios的hotseat效果修改hotseat样式

    在13.0系统产品rom定制化开发中,在项目需求的需要,系统原生Launcher的布局样式很一般,所以需要重新设计ui对布局样式做调整,产品在看到 ios的hotseat效果觉得特别美观,所以要仿ios一样不需要横屏铺满的效果 居中显示就行了,所以就要看hotseat的具体布局显示了 效果图如下

    2024年01月16日
    浏览(51)
  • Android 自定义CheckBox样式,设置切换背景图,类似于RadioButton

    目前要实现类似于Radiobutton选择按钮,如果只有一个RadioButton,就不能和radio Group连用,导致选择没办法取消,如果要实现只能代码中进行操作,过于繁琐。所以自己写了一个定义CheckBox样式,实现的效果和RadioBUtton样式一样,不过能够实现选择和取消,代码中直接实现监听即可

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包