安卓开发:UI组件-Button

2.3Button

Button继承自TextView,除了通过属性设置按钮样式,还可以通过绑定drawable文件的方式来实现不同样式。

2.3.1按钮样式

新建Activity:ButtonActivity,添加Layout视图:activity_button.xml.

activity_button.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:padding="15dp">
 6     <Button
 7         android:id="@+id/btn_1"
 8         android:layout_width="match_parent"
 9         android:layout_height="40dp"
10         android:text="普通按钮"
11         android:textSize="20sp"
12         android:textColor="#ffffff"
13         android:background="#000000"
14         android:layout_marginTop="10dp"/>
15     <Button
16         android:id="@+id/btn_2"
17         android:layout_width="match_parent"
18         android:layout_height="40dp"
19         android:text="圆角按钮"
20         android:textSize="20sp"
21         android:textColor="#ffffff"
22         android:background="@drawable/bg_btn1"
23         android:layout_below="@id/btn_1"
24         android:layout_marginTop="10dp"/>
25     <Button
26         android:id="@+id/btn_3"
27         android:layout_width="357dp"
28         android:layout_height="wrap_content"
29         android:layout_below="@+id/btn_2"
30         android:layout_marginTop="10dp"
31         android:background="@drawable/bg_btn2"
32         android:text="描边按钮"
33         android:textColor="#ff9900"
34         android:textSize="20sp" />
35     <Button
36         android:id="@+id/btn_4"
37         android:layout_width="357dp"
38         android:layout_height="wrap_content"
39         android:layout_below="@+id/btn_3"
40         android:layout_marginTop="10dp"
41         android:background="@drawable/bg_btn3"
42         android:text="按压效果"
43         android:textColor="#ffffff"
44         android:textSize="20sp" />
45
46 </RelativeLayout>

通过如下方式添加drawable文件(复制粘贴普通xml文件由于路径不同会导致引用出现问题):

bg_btn1.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="50dp"/>
</shape>

bg_btn2.xml(描边按钮)

<?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="15dp"/>
</shape>

bg_btn3.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="#DBA047"/>
            <corners android:radius="10dp"/>
        </shape>
    </item>
    <item android:state_pressed="false">
        <shape>
            <solid android:color="#FF9900"/>
            <corners android:radius="10dp"/>
        </shape>
    </item>
</selector>

2.3.2点击事件

在Layout文件的32行做如下改动,绑定showToast事件:

32         android:text="描边按钮+点击1"
33         android:onClick="showToast"

来到Activity文件为此事件进行详细描述:

public void showToast(View view){
        Toast.makeText(this,"btn3",Toast.LENGTH_SHORT).show();
    }

或者也可以使用第二种方法实现点击,修改Layout文件42行为:

42 android:text="按压效果+点击2"

因为此点击事件绑定了按钮4,btn4,来到Activity文件定义私有变量mBtn4,完善事件描述:

private Button mBtn4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);
        mBtn4 = findViewById(R.id.btn_4);
        mBtn4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(ButtonActivity.this,"btn4",Toast.LENGTH_SHORT).show();
            }
        });
    }

最后效果:

原文地址:https://www.cnblogs.com/artieneos/p/10310635.html

时间: 2024-11-02 07:18:31

安卓开发:UI组件-Button的相关文章

iOS开发UI篇—Button基础

iOS开发UI篇—Button基础 一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状态 normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal highlighted(高亮状态) 按钮被按下去的时候(手指还未松开) 对应的枚举常量:UIControlStateHighlighted disabled(失效状态,不可用状态) 如

Android常用UI组件 - Button

按钮(Button)是Android当中一个常用的UI组件,很小但是在开发中最常用到.一般通过与监听器结合使用,从而触发一些特定事件. Button继承了TextView.它的功能就是提供一个按钮,这个按钮可以供用户点击,当用户对按钮进行操作的时候,触发相应事件,如点击,触摸.一 般对于一个按钮而言,用的最多的就是点击事件,Button间接继承自View,而Android UI中的所有事件,都是定义在View中的. 实例:ButtonDemo 运行效果: 代码清单: 布局文件:main.xml

Android经常使用UI组件 - Button

button(Button)是Android其中一个经常使用的UI组件.非常小可是在开发中最经常使用到.一般通过与监听器结合使用.从而触发一些特定事件. Button继承了TextView.它的功能就是提供一个button,这个button能够供用户点击.当用户对button进行操作的时候,触发对应事件,如点击.触摸.一般对于一个button而言,用的最多的就是点击事件,Button间接继承自View.而Android UI中的全部事件.都是定义在View中的. 实例:ButtonDemo 执行

推荐使用Tiny Framework web开发UI组件

TINY FRAMEWORK 基于组件化的J2EE开发框架,from:http://www.tinygroup.org/ 名字 Tiny名称的来历 取名Tiny是取其微不足道,微小之意. Tiny的构建者认为,一个J2EE开发框架是非常复杂的,只有把框架分解成非常细小.可控的部分,并且对每个细小.可控的部分都有一个最优解或相对最优解, 那么整个方案也就可以非常不错的落地. 策略 Tiny框架的构建策略 Think big, start small, scale fast. 想法要宏伟,但是要从小

iOS开发UI篇——Button基础

一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状态 1. normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal 2. highlighted(高亮状态) 按钮被按下去的时候(手指还未松开) 对应的枚举常量:UIControlStateHighlighted 3. disabled(失效状态,不可用状态) 如果enabled属

OS开发UI篇—Button基础

1.1.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 1.2.按钮的三种状态 normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal highlighted(高亮状态) 按钮被按下去的时候(手指还未松开) 对应的枚举常量:UIControlStateHighlighted disabled(失效状态,不可用状态) 如果enabled属性为NO,

[deviceone开发]-UI组件的动画示例

一.简介 自定义组件模版(头部,按钮,加减数量,加载,底部弹出,开关(文字/无文字),选项卡(2-4), radio)全部带自定义动画效果,需从组件商店中添加:do_Animator组件 二.效果图 三.相关下载 https://github.com/do-project/code4do/tree/master/MagicBeanTemplate 四.相关讨论 http://bbs.deviceone.net/forum.php?mod=viewthread&tid=463 五.更多案例 htt

iOS开发-UI (二)Button和Image

知识点: 1.UIButton使用和事件机制 2.UIImage 3.自定义UIButton ================== UIButton 1.创建方式 按钮类型 UIButtonTypeCustom       用户自定义按钮 UIButtonTypeRoundedRect      系统按钮 UIButtonTypeDetailDisclosure   更多信息按钮   i UIButtonTypeInfoLight           高亮信息按钮   i UIButtonTyp

从零开发一款自己的小程序UI组件库(二)

写在前面:从零开发一款自己的小程序UI组件库(一) 上节我们讲到初始化组件库模板.模板文件概述.模板上传npm以及npm包文件下载至本地并运用到项目.这节我们继续,内容主要有基础UI组件库的搭建(button组件的实例)以及如何在本地使用npm link调试npm包项目. 本节所用到的物料:mineui-weapp组件库v1.1.weapp-for-mineui程序v1.1 1.开发基础组件button 我们上节有提到,要开发组件库的话,需要在官方单组件模板的基础上,①修改tools目录下的co