为了账号安全,请及时绑定邮箱和手机立即绑定

Android 中的 theme 和 style(2)

标签:
Android

Drawables

android:selectableItemBackground
android:listChoiceIndicatorSingle
主要提供一些特殊的背景效果,例如 button 在不同状态的点击效果

Themeception

android:actionBarTheme
android:dialogTheme
这个随后给大家分享

Styles

是用于定于视图样式的一系列的值

<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original=""
        android:background="@drawable/my_drawable"
        />

这里我们为 ImageView 定义了背景,如果我们想将该背景抽出为 style 以便复用。

<style name="MyStyle">
        <item name="android:background">
            @drawable/my_drawable        </item>
    </style>

然后修改 ImageView

 <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original=""
        style="@style/MyStyle"
        />

Android studio 提供了提取组件样式来作为 style 使用功能,这样大大地方便了开发人员。在设计设图中选择一个要提取 style 的组件,然后右键单击,在弹出菜单中选择 Refactor 然后选择 Extract Style...

webp

001.JPG


完成上面操作,会看到一个 Extract Android Style 对话中,显示了该组件所有的可以提取属性。

webp

002.JPG


我们可以选择要提取到 style 的属性,然后 style name 输入一个 style 名称这样单击 OK 就完成提取

webp

003.JPG


这样我们在 style.xml 文件中就可以看到生成的样式。



<style name="MyStyle">
        <item name="android:background">
            ?android:attr/selectableItemBackground        </item>
    </style>

这里? 表示在 theme 进行查找,android: 表示在 android 命名空间内进行查找,attr/表示我们查找的类型为 attr 这里可以省略,最后 selectableItemBackground 表示我们要查找的属性。



作者:zidea
链接:https://www.jianshu.com/p/098a21b55c97


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消