`
zkh43javaeye
  • 浏览: 85912 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

(转)android button 效果设计

阅读更多

原址:http://ssd910.blog.163.com/blog/static/23876797201021610282142/

 

Button 有按下效果

 

[功能]

让Button 有按下效果 更有视觉效果

 

[代码]

1. 先准备2张*.png 一张供默认使用 另一张供按下使用 本例为:

 

Java代码

 

  1. play.png   
  2. play_down.png  

play.pngplay_down.png

 

 

2.  根据各种状态 定制化所显示的 *.png 命名为: myselection.xml

Java代码

 

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">   
  3.     <item    
  4.         android:state_pressed="false"    
  5.         android:drawable="@drawable/play" />   
  6.     <item    
  7.         android:state_pressed="true"    
  8.         android:drawable="@drawable/play_down" />   
  9.     <item    
  10.         android:drawable="@drawable/play" />   
  11. </selector>   

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

 

 

3. 在 main.xml 布局中 添加Button 元件 并 设置 使用 myselection.xml

Java代码

 

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >   
  7. <TextView     
  8.     android:layout_width="fill_parent"    
  9.     android:layout_height="wrap_content"    
  10.     android:text="Button Style!"  
  11.     />   
  12. <ImageButton    
  13.             android:id="@+id/playorpause"    
  14.             android:layout_width="wrap_content"  
  15.             android:layout_height="wrap_content"    
  16.             android:src="@xml/myselection"    
  17.             android:background="#00000000" />   
  18. </LinearLayout>  

<?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="Button Style!" /><ImageButton android:id="@+id/playorpause" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@xml/myselection" android:background="#00000000" /></LinearLayout>

 

 

 

4. 大家可以自己看看效果 因为不好截图

 

 

其实 除了上面的方法 还有一个方法 为:

1. 在 maun.xml 中添加 ImageButton 且不设置使用的*.png

Java代码

 

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >   
  7. <ImageButton   
  8.     android:id="@+id/button"     
  9.     android:layout_width="wrap_content"    
  10.     android:layout_height="wrap_content"    
  11.     />   
  12. </LinearLayout>  

<?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" ><ImageButton android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>

 

 

2. 在该ImageButton上设置监听器 并根据其状态使用对应的资源 但是必须要设置默认资源

Java代码

 

  1. ImageButton btn = (ImageButton) findViewById(R.id.button);   
  2.            
  3.         //to set its default *.png   
  4.         btn.setBackgroundResource(R.drawable.play);   
  5.         btn.setOnTouchListener(new ImageButton.OnTouchListener(){   
  6.             @Override  
  7.             public boolean onTouch(View arg0, MotionEvent arg1) {   
  8.                 // TODO Auto-generated method stub   
  9.                 if(arg1.getAction() == MotionEvent.ACTION_DOWN){   
  10.                     arg0.setBackgroundResource(R.drawable.play_down);   
  11.                 }   
  12.                 else if(arg1.getAction() == MotionEvent.ACTION_UP){   
  13.                     arg0.setBackgroundResource(R.drawable.play);   
  14.                 }   
  15.                    
  16.                 return false;   
  17.             }   
  18.                
  19.         });  

ImageButton btn = (ImageButton) findViewById(R.id.button); //to set its default *.png btn.setBackgroundResource(R.drawable.play); btn.setOnTouchListener(new ImageButton.OnTouchListener(){ @Override public boolean onTouch(View arg0, MotionEvent arg1) { // TODO Auto-generated method stub if(arg1.getAction() == MotionEvent.ACTION_DOWN){ arg0.setBackgroundResource(R.drawable.play_down); } else if(arg1.getAction() == MotionEvent.ACTION_UP){ arg0.setBackgroundResource(R.drawable.play); } return false; } });

 

 

 

具体哪个方法更好 应该根据自己的场合:

1. 只有一个Button 推荐使用第一个方法

2. 有几个Button 推荐使用第二个 统一定义 然后根据指定的id 来使用目标*.png

分享到:
评论

相关推荐

    【Android】自定义Button效果

    总的来说,自定义Button效果涵盖了Android UI设计的多个方面,包括样式、Drawable、自定义View、动画、属性、触摸反馈等。通过熟练掌握这些技术,开发者能够创造出极具吸引力且用户体验优秀的Android应用。

    android 自定义各种风格button

    然而,系统默认的Button样式可能无法满足所有设计需求,因此,开发者常常需要自定义Button的各种风格,包括颜色、形状、边框、文字样式等。本文将深入探讨如何在Android中自定义各种风格的Button。 首先,我们可以...

    Android Path Button效果

    在Android开发中,Path Button是一种独特且富有创意的UI组件,它允许开发者通过自定义的SVG路径来设计按钮的形状,从而实现各种独特的视觉效果。Path Button的效果通常比传统的矩形或圆形按钮更加吸引人,可以提升...

    Android 源码Button 经典实例

    在Android开发中,Button控件是用户界面中最基础也是最重要的元素之一,它允许用户执行特定的操作或触发事件。本文将通过“Android 源码Button 经典实例”这一主题,深入探讨Button的使用方法、源码分析以及实战案例...

    Android 超炫的Path Button效果源码.rar

    总之,"Android 超炫的Path Button效果源码"是一个极好的学习资源,对于想要提升Android UI设计能力的开发者来说,能够帮助他们掌握自定义视图和动画技巧,从而在项目中创造出更多独特且引人入胜的交互体验。...

    安卓Android源码——拖动Button显示效果.zip

    本项目"安卓Android源码——拖动Button显示效果.zip"聚焦于如何通过编程技术让Button控件在用户的手势操作下产生独特的视觉反馈。在深入探讨这个主题之前,我们需要了解Android开发的基本知识,包括Activity、布局...

    一个有单击效果的圆button

    在Android应用开发中,用户界面的设计是至关重要的,而按钮(Button)作为用户与应用交互的主要元素之一,其样式和功能的定制化需求尤为突出。"一个有单击效果的圆button"项目正是针对这种需求提供的一种解决方案,...

    android 超炫的Path Button效果源码

    "android 超炫的Path Button效果源码"就是这样一个示例,它展示了一种创新的按钮设计,通过Path动画使得按钮在用户交互时呈现出动态、流畅的效果。 Path Button的核心概念是利用Android的矢量图形库,如SVG...

    Android Button 自带阴影效果另一种解决办法

    从Android 5.0 (Lollipop) 开始,系统默认为Button添加了阴影效果,以提供更好的视觉层次感。然而,根据不同的设计需求,可能需要去除这个阴影效果。本文将介绍一种不同于常见解决方案的去除Button阴影的方法。 ...

    Android中Button一边圆角一边直角

    在Android应用开发中,有时为了追求更加个性化的用户界面设计,开发者可能会遇到需要自定义Button样式的需求,例如让一个Button的一侧保持直角,而另一侧则呈现圆角效果。本文将详细介绍如何通过自定义Button的XML...

    Android 超炫的Path Button效果源码.zip

    这份"Android 超炫的Path Button效果源码.zip"提供了实现这种效果的完整代码,帮助开发者学习和应用到自己的项目中。 Path Button的核心原理在于利用Android的Canvas和Path类来绘制图形。Canvas是Android提供的画布...

    Android拖动Button按钮显示效果

    在Android开发中,实现按钮(Button)的拖动显示效果是一项常见的交互设计需求。这个实例主要探讨如何在Android应用中创建一个可以被用户拖动的Button,并在拖动过程中展示特定的效果。首先,我们需要理解Android的...

    android-image-button.zip_Android button_android_image button

    在Android开发中,按钮(Button)是用户界面中不可或缺的元素,用于响应用户的点击操作。在某些场景下,我们可能需要创建一个...通过这些步骤,你就可以为你的应用创建一个功能完备且视觉效果良好的Image Button了。

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

    在Android开发中,自定义控件是提升应用...通过这种方式,我们可以根据项目需求定制出符合设计风格的按钮,提高应用的整体体验。记得在使用自定义组件时,保持代码的可维护性和复用性,这样可以方便后续的修改和扩展。

    Android中Button样式新方法

    总结起来,通过使用LinearLayout和单独的ImageView及TextView,我们可以实现一个功能和视觉效果与Button类似但更灵活的组件。这种方法允许我们在不自定义控件的情况下,轻松地调整图标和文本的位置、大小以及添加...

    android button shape Toast

    本教程将详细介绍如何在Android中实现`Button`的特殊效果,特别是利用`shape`来改变按钮的外观。 首先,`shape`是Android图形绘制的一种XML资源,它可以用来定义不同类型的图形,如矩形、圆形、椭圆等,并能设置...

    android button 颜色变化 按钮状态变化

    在设计用户交互时,为了提供良好的用户体验,我们通常需要使按钮在不同状态下呈现出不同的视觉效果,比如按下状态、默认状态和不可点击状态。这篇内容将详细讲解如何实现Android Button的颜色变化以及按钮状态变化。...

    Android 超炫的Path Button效果源码-IT计算机-毕业设计.zip

    "Android 超炫的Path Button效果源码"就是一个专注于按钮(Button)设计的项目,它通过自定义视图(View)和动画技术,实现了独特的Path Button效果。这种效果通常表现为按钮形状的动态变化,如线条绘制、颜色过渡等...

    android button在底部的多个view切换 实例一正常切换.

    总之,实现“android button在底部的多个view切换”涉及到对Button、Fragment或Activity的理解和使用,以及事件监听、状态保存和动画效果的处理。通过这个实例,开发者可以学习到如何构建一个交互性强、用户体验好的...

    android RotateButton 旋转圆环

    "android RotateButton 旋转圆环"是一个自定义按钮控件,专为录音功能设计,它在用户触发录音时显示一个旋转的圆环动画,点击后按钮转换为停止按钮,并继续展示旋转效果,直至录音结束。这个控件的实现涉及到多个...

Global site tag (gtag.js) - Google Analytics