Android开发笔记02-Button01

【2021 最新版】Android studio全套教程+Android(安卓)开发入门到精通(项目实战篇)_哔哩哔哩_bilibili

启动你的大宝贝AndroidStudio,创建新工程

一、新建工程

File---->new---->new Project---->Empty Activity

工程创建好后

1.打开activity_main.xml,把这些内容都删除掉,自己写一个布局。

实例代码如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical"

    >
....
....
....

</LinearLayout>

 2.写出一个Button

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical">
    <Button
        android:text="Button"
        android:textColor="#FFFF0000"
        android:background="#12FFD8"
        android:layout_height="100dp"
        android:layout_width="200dp" />
</LinearLayout>

二、了解Button属性 StateListDrawable

StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点< selector >,我们只需要将Button的background属性设置为该drawable资源即可轻松实现,按下按钮时不同的按钮颜色或背景

1.drawable:引用Drawable位图

2.state_focused:是否获得焦点

3.state_pressed:控件是否被按下

4.state_enabled:控件是否可用

5. state_selected:控件是否被选择,针对有滚轮的情况6. state_checked:控件是否被勾选

7. state_checkable:控件可否被勾选,eg:checkbox8. state_window_focused:是否获得窗口焦点

9. state_active:控件是否处于活动状态,eg:slidingTab

10.state_single:控件包含多个子控件时,确定是否只显示一个子控件

11.state_first:控件包含多个子控件时,确定第一个子控件是否处于显示状态

12.state_middle:控件包含多个子控件时,确定中间一个子控件是否处于显示状态

13.state_last:控件包含多个子控件时,确定最后一个子控件是否处于显示状态
 

1.新建selector文件,给Button选择logo文件,暂且叫做logo好了。

导入两张自己喜欢的logo作为Button的logo

然后:

选中res---->new---->Drawable resource file

Resource Type选择为Drawable才会有Root element出现 Root element对应的是selector

同时生成的btn_selector文件也会在res---->Drawable目录下生成

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/ic_sentiment_satisfied_black_24dp" android:state_pressed="true"/>
    <item android:drawable="@drawable/ic_sentiment_neutral_black_24dp"/>


</selector>

2.新建color文件,按下Button时logo颜色发生变化

为了改变logo自带的默认的颜色,让按钮按下去和弹回来有一个颜色的变化,提升趣味性,我们新建一个btn_color_selector.xml的文件,设置state为pressed时的颜色为红色和普通状态下的绿色。

在有些版本的AndroidStudio中是

选中res---->directory---->自己命名为:color,在color下新建Color resource file

我的是

Android Studio 3.5.2
Build #AI-191.8026.42.35.5977832, built on October 31, 2019
JRE: 1.8.0_202-release-1483-b03 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0

在res下新建Android Resource File

在btn_color_selector.xml中

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#ffff0000" android:state_pressed="true"/>
    <item android:color="#ff00ff00" />

</selector>

 回到activity_main.xml中将backgroundTint改为@color/btn_color_selector

 button可以设置前景色,和设置背景色的原理是一样的,不过会把字体给覆盖,一般不设置

三、演示效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值