栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android-默认按钮样式

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android-默认按钮样式

了解Android样式的工作原理可能有些混乱。

我将基于一个示例来尝试解释基本工作流程。

假设您想知道按钮的默认背景是什么。这可以是简单的颜色(不太可能),也可以是可绘制对象(有许多不同类型的可绘制对象)。

Android具有主题。主题基本上定义了将哪种样式应用于哪个窗口小部件。因此,我们的第一步是找到默认的Android主题。

你在下面找到它

android-sdkplatformsandroid-15dataresvaluesthemes.xml

在此主题文件中,搜索

button

您会发现以下内容:

<!-- Button styles --><item name="buttonStyle">@android:style/Widget.Button</item>

这意味着主题将样式

Widget.Button
应用于按钮。

好的,现在让我们找到样式

Widget.Button

文件中定义了所有默认的Android样式

android-sdkplatformsandroid-15dataresvaluesstyles.xml

现在搜寻

Widget.Button

您会发现以下内容:

<style name="Widget.Button">    <item name="android:background">@android:drawable/btn_default</item>    <item name="android:focusable">true</item>    <item name="android:clickable">true</item>    <item name="android:textAppearance">?android:attr/textAppearanceSmallInverse</item>    <item name="android:textColor">@android:color/primary_text_light</item>    <item name="android:gravity">center_vertical|center_horizontal</item></style>

有趣的行是:

<item name="android:background">@android:drawable/btn_default</item>

这意味着有一个名为

btn_default
set 的可绘制对象作为按钮背景。

现在,我们需要

btn_default.*
在中的一个可绘制文件夹中找到一个名为的文件
android-sdkplatformsandroid-15datares

这可以是图像(非常不可能)或xml文件(例如)

btn_default.xml

稍作搜索后,您将找到文件

android-sdkplatformsandroid-15dataresdrawablebtn_default.xml

它包含如下内容:

<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/btn_default_normal" />    <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/btn_default_normal_disable" />    <item android:state_pressed="true" android:drawable="@drawable/btn_default_pressed" />    <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/btn_default_selected" />    <item android:state_enabled="true" android:drawable="@drawable/btn_default_normal" />    <item android:state_focused="true" android:drawable="@drawable/btn_default_normal_disable_focused" />    <item android:drawable="@drawable/btn_default_normal_disable" /></selector>

现在,您必须了解这是一个选择器可绘制(许多可绘制类型之一)。该选择器根据按钮状态选择不同的背景。例如,如果按下按钮,则它具有不同的背景。

不,让我们看看默认状态。

<item android:state_enabled="true"android:drawable="@drawable/btn_default_normal" />

它应用了一个称为的可绘制对象

btn_default_normal

现在我们需要找到该可绘制对象。

同样,我们需要

btn_default_normal.*
在中的一个可绘制文件夹中找到一个名为的文件
android-sdkplatformsandroid-15datares

可以再次是图像或XML文件(例如)

btn_default_normal.xml

在不同分辨率的不同可绘制文件夹中,您会找到多个名为“ btn_default_normal.9.png”的文件。

:)现在,您知道将

btn_default_normal.9.png
其设置为按钮背景。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446661.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号