`

Android中的Button自定义效果

 
阅读更多

方法一

1.放在drawable下的selector.xml文件

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_pressed="true" android:drawable="@drawable/temp1" />
 <item android:state_pressed="false" android:state_focused="false"
  android:drawable="@drawable/temp2" />
 <item android:state_focused="true" android:drawable="@drawable/temp3" />
 <item android:state_focused="false" android:drawable="@drawable/temp4" />
</selector>

 

2.布局文件main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<Button
 android:drawableTop="@drawable/shouru"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/button"
 android:background="@drawable/selector"/>
</LinearLayout>

 

3.只是为了测试,所以效果不是很好,Button部分状态效果图如下:

①初始化的时候默认显示的按钮效果:

②点击后释放显示的效果

③点击不放时的效果

 

方法二

1.布局文件main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<Button
 android:id="@+id/button"
 android:drawableTop="@drawable/shouru"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/button"
 android:background="@drawable/temp4"/>
</LinearLayout>

 

2.主要的java代码,实现点击效果:
   

Button button = (Button) this.findViewById(R.id.button);
   button.setOnTouchListener(new Button.OnTouchListener(){
   @Override
   public boolean onTouch(View v, MotionEvent event) {
    if(event.getAction() == MotionEvent.ACTION_DOWN){   
                    v.setBackgroundResource(R.drawable.temp1);   
                    Log.i("TestAndroid Button", "MotionEvent.ACTION_DOWN");
                }   
                else if(event.getAction() == MotionEvent.ACTION_UP){   
                    v.setBackgroundResource(R.drawable.temp2); 
                    Log.i("TestAndroid Button", "MotionEvent.ACTION_UP");
                } 
    return false;
   }
  });

 

分享到:
评论

相关推荐

    【Android】自定义Button效果

    本篇将深入探讨如何在Android中实现自定义Button的效果,以及涉及到的相关知识点。 1. **自定义样式与主题** Android支持通过XML来定义按钮的样式。在`res/values/styles.xml`文件中,可以创建一个新样式,并指定...

    android使用了自定义button自定义tabHost切换页面Demo

    在Android开发中,自定义组件是提升应用独特性和用户体验的关键技术之一。本示例主要讲解如何使用自定义的Button和TabHost来实现页面间的切换,从而创建一个具有个性化标签导航功能的应用。 首先,我们来看看...

    android 自定义各种风格button

    本文将深入探讨如何在Android中自定义各种风格的Button。 首先,我们可以通过修改Button的背景来改变其颜色。Android提供了多种方式来实现这一目标,例如使用颜色资源、颜色选择器(ColorStateList)或者渐变色。在...

    android studio 自定义button 以及基础动画

    android studio 自定义button边框,角度,渐变颜色按下时改变样式, 以及基础动画,为image view添加旋转,下移,渐变等样式,使用timer handler button进行控制。

    android自定义view自定义buttonDemo

    在Android开发中,自定义View和自定义Button是提升应用界面独特性和交互体验的重要手段。本Demo主要展示了如何通过自定义View和自定义Button来实现特定的视觉效果和交互功能,比如Button在被点击时变换背景。下面...

    Android-Android自定义键盘数字键盘和字母键盘

    在Android应用开发中,有时需要实现自定义键盘以满足特定输入需求,比如金融应用中的数字键盘或聊天应用中的字母键盘。本篇文章将深入探讨如何在Android中创建自定义的数字键盘和字母键盘。 首先,我们需要了解...

    Android-Android波浪按钮支持多种效果自定义

    本文将深入探讨"Android-Android波浪按钮支持多种效果自定义"这一主题,包括它的实现原理、功能特性以及如何在项目中进行自定义配置。 1. **波浪按钮概念** 波浪按钮是一种特殊的Android按钮控件,它在用户点击时...

    android button 自定义

    - 在Java或Kotlin代码中,可以通过设置`android:background`属性来引用`wp_button.xml`文件,使按钮应用自定义样式。 - 或者在XML布局文件中直接将`wp_button.xml`作为`Button`组件的背景。 5. **进一步优化** -...

    android 自定义单选按钮radioButton

    本教程将深入探讨如何在Android中自定义RadioButton,使其满足特定的设计需求。 一、RadioButton基础 RadioButton是Android的 android.widget.RadioGroup 类中的一个子类,它在视觉上表现为一个小圆圈,未被选中时...

    Android自定义Button按钮显示样式

    Android 自定义 Button 按钮显示样式是指在 Android 应用程序中对 Button 控件的样式进行自定义,以满足不同的应用程序需求和用户体验。自定义 Button 按钮显示样式可以通过两种方式实现:一种是使用图片,另一种是...

    Android 自定义Button按钮显示样式(正常、按下、获取焦点)

    在Android开发中,自定义控件是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何自定义一个Button,使其在不同状态(正常、按下、获取焦点)下呈现出不同的显示样式。我们将通过创建一个自定义的Button...

    android 自定义button 支持颜色,圆角

    android 自定义button 支持颜色,圆角,可以简单实现button颜色,圆角

    Android 自定义仿Button按下

    "Android 自定义仿Button按下"这一主题,旨在教你如何模仿标准Button的按下和抬起效果,并在此基础上添加动画,使得用户在触摸屏幕时能感受到更丰富的交互体验。下面我们将详细探讨这个过程中的关键知识点。 首先,...

    notification-Android带按钮自定义通知栏

    在项目"notification-Android带按钮自定义通知栏"中,开发者可以找到一个完整的示例,展示如何创建、配置和显示这种自定义通知。这将有助于理解和实践如何在Android应用中实现交互式通知,提升用户体验。 总结来说...

    Android自定义LoadingButton

    自定义Android View需要继承`android.view.View`或其子类(如`Button`),然后重写必要的方法,如`onDraw()`用于绘制视图,`onMeasure()`用于确定视图大小,以及`onTouchEvent()`处理触摸事件。 2. **XML布局文件...

    自定义Button控件,继承Button控件App源码

    在Android开发中,自定义控件是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何根据给定的标题和描述,实现一个自定义的Button控件,它将继承系统提供的Button类,并添加新的功能或视觉效果。我们将...

    android中button长按效果的demo

    本Demo旨在展示如何在Android应用中实现Button的长按效果。 首先,我们需要在布局XML文件中定义Button,并为其设置相应的属性。例如,我们可以在`activity_main.xml`文件中创建一个Button: ```xml &lt;Button ...

    自定义View和自定义Button

    在Android开发中,自定义View和自定义Button是提升应用界面独特性和功能扩展性的重要手段。自定义View允许开发者根据需求创建独特的用户界面组件,而自定义Button则是在此基础上更进一步,专注于按钮这一常见的交互...

    Android 中“自定义权限”源代码

    ### Android中的自定义权限详解与实现 #### 一、引言 在Android系统中,为了保护用户隐私和数据安全,应用程序被赋予了基于权限的安全模型。Android预定义了一系列权限,如访问联系人、发送短信等,但同时也允许...

    android开发中自定义颜色值

    在Android开发中,自定义颜色值是一个常见的需求,这使得开发者可以更加灵活地控制应用程序的视觉样式。在Android中,颜色通常通过十六进制代码表示,例如`#ffffff`代表纯白色。为了方便开发,我们可以创建一个XML...

Global site tag (gtag.js) - Google Analytics