Android开发----Button组件的使用与练习
Button
学习目标:
- 文字大小、颜色
- 自定义背景形状
- 自定义按压效果
- 点击事件
创建一个新的Activity以增加控件
1、文字大小、颜色
直接在xml文件中定义即可
<Button
android:id="@+id/btn_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="这是一个Button"
android:textColor="#000000"
android:background="#ff00ff"/>
2、自定义背景形状
在res/drawable目录下创建btn_2.xml文件用于自定义按钮的形状(表示颜色为橙色,形状为圆角)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#ff9900"/>
<corners
android:radius="15dp"/>
</shape>
(一个只有边框的形状)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#ff9900"/>
<corners
android:radius="5dp"/>
</shape>
在Activity.xml中按钮组件上应用这个背景
<Button
android:id="@+id/btn_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="这是按钮2"
android:textColor="#000000"
android:layout_marginTop="10dp"
android:layout_below="@id/btn_1"
android:background="@drawable/btn_2"/>
最终效果如图:

或者有

3、自定义按压效果
在drawable下新建btn_4.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true">
<shape>
<solid android:color="#ff0099"/>
<corners android:radius="5dp"/>
</shape>
</item>
<item android:state_pressed="false">
<shape>
<solid android:color="#00ff99"/>
</shape>
</item>
</selector>
在Activity.xml中引用
<Button
android:id="@+id/btn_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="button4"
android:layout_below="@id/btn_3"
android:layout_marginTop="10dp"
android:background="@drawable/btn_4"
/>
4、点击事件
对btn_4进行利用,使其点击都生成消息提示框
方法一:
在Activity.java中使用setOnClickListener
public class ButtonActivity extends AppCompatActivity {
private Button button_3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
button_4 = findViewById(R.id.btn_3);
button_4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ButtonActivity.this,"这是一个提示消息",Toast.LENGTH_SHORT).show();
}
});
}
}
方法二:
在Activity.java中创建showToast方法
public class ButtonActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
}
public void showToast(View view)
{
Toast.makeText(this,"这是一个提示消息",Toast.LENGTH_SHORT).show();
}
}
并在btn_4控件中添加android:onClick="showToast"即可
Android开发----Button组件的使用与练习的更多相关文章
- 一个帖子学会Android开发四大组件
来自:http://www.cnblogs.com/pepcod/archive/2013/02/11/2937403.html 这个文章主要是讲Android开发的四大组件,本文主要分为 一.Act ...
- Android开发四大组件概述
这个文章主要是讲Android开发的四大组件,本文主要分为 一.Activity具体解释 二.Service具体解释 三.Broadcast Receiver具体解释 四.Content Provid ...
- 一天就学会Android开发四大组件
这个文章主要是讲Android开发的四大组件,本文主要分为 一.Activity详解二.Service详解三.Broadcast Receiver详解四.Content Provider详解外加一个重 ...
- 关于Android开发四大组件
文章主要是讲Android开发的四大组件,本文主要分为 文章源自:http://www.cnblogs.com/pepcod/archive/2013/02/11/2937403.html 一.Act ...
- Android开发之组件
Android应用程序由组件组成,组件是可以解决被调用的基本功能模块.Android系统利用组件实现程序内部或程序间的模块调用,以解决代码复用问题,这是Android系统非常重要的特性.在程序设计时, ...
- Android开发四大组件之Service(具体解释篇)
Android开发之四大组件--Service 一.Service 简单介绍 Service是android系统中的四大组件之中的一个(Activity.Service.BroadcastReceiv ...
- Android 开发 系统组件集合
常用的TextView.Button.ImageView和几个常用布局就不介绍了,我们介绍一些特别好用但是常常忘记的组件. 标题栏组件 <androidx.appcompat.widget.To ...
- android开发常用组件【持续更新中。。。】
UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...
- Android开发--Button的应用
1.Button的创建 Button的创建和TextView类似,包含按钮的ID,宽度,高度,提示(即按钮上的文本内容).
随机推荐
- 【LeetCode】99. Recover Binary Search Tree 解题报告(Python)
[LeetCode]99. Recover Binary Search Tree 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/p ...
- 【操作系统】编程模拟FIFO,LRU,NUR,OPT页面置换算法
#include<stdio.h> #include<stdlib.h> #include<time.h> #define random(x) (rand()%x) ...
- Towards Deep Learning Models Resistant to Adversarial Attacks
目录 概 主要内容 Note Madry A, Makelov A, Schmidt L, et al. Towards Deep Learning Models Resistant to Adver ...
- 取代 Maven?这款项目构建工具性能提升 300%
在 GitHub 上闲逛的时候,发现了一个新的项目:maven-mvnd,持续霸占 GitHub trending 榜单好几天了. maven-mvnd,可以读作 Maven Daemon,译作 Ma ...
- 制造运营管理 (MOM) 的工作流驱动方法
介绍 "在企业中使用的任何技术的第一条规则是,应用于高效运营的自动化将放大效率.第二个是自动化应用于低效率的操作会放大低效率." - 比尔盖茨 . 工作流是结构化的活动,主要涉及人 ...
- getRequestDispatcher 中请求转发和请求包含的使用说明
getRequestDispatcher() getRequestDispatcher() 包含两个方法,分别是请求转发和请求包含. RequestDispatcher rd = request.ge ...
- 数学库Sage安装和使用
什么是Sage? Sage是免费的.开源的数学软件,支持代数.几何.数论.密码学.数值计算和相关领域的研究和教学. 可以简单看成一个数学库 下载 国内地址 安装 Windows下安装 下载安装程序即可 ...
- centos7 修改网卡信息
修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 有一些不是eth0 也可能是ens33 修改完成后使用下面命令进行重启 systemctl ...
- Go语言读取各种配置文件
配置文件结构体 config.go package config type System struct { Mode string `mapstructure:"mode" jso ...
- java中的spi
JAVA中的SPI机制 1.SPI简介 SPI机制(Service Provider Interface)其实源自服务提供者框架(Service Provider Framework),是一种将服务接 ...