`
qa22qa22
  • 浏览: 56702 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

imageView/Button的selector用法

阅读更多
图片按钮(ImageButton)可以根据当前按钮状态来显示不同的图片。





二、代码要点

1. 一般通过在<ImageButton>节点里设置android:src属性来进行显示设置图片源。

2. 若想去掉原来按钮的背景,则通过设置图片背景为透明实现。(android:background="#00000000")

main.xml
 
view plaincopy to clipboardprint?
<?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"  
    />  
<ImageButton  
    android:layout_width="wrap_content"   
    android:layout_height="wrap_content"  
    android:background="#00000000"   
    android:src ="@drawable/img_btn">  
</ImageButton>  
</LinearLayout>  
 




3. 为不同的状态设置不同的图片,通常的做法是定义一个XML(selector)。注意:<item>的排列是有序的,默认状态(default)的图片放在最后,它要在按下状态(btn_pressed)和焦点状态(btn_focused)都为False时,默认状态(default)才生效。

img_btn.xml
 

view plaincopy to clipboardprint?
<?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/btn_pressed" /> <!-- pressed -->   
     <item android:state_focused="true"   
           android:drawable="@drawable/btn_focused" /> <!-- focused -->   
     <item android:drawable="@drawable/btn_default" />  <!-- default -->   
 </selector>  


分享到:
评论

相关推荐

    ListView Button ImageView 里应用selector选择器切换图片并保持住

    总结起来,通过使用selector,开发者可以在ListView、Button和ImageView中轻松地实现图片的动态切换,同时保持住相应状态的效果,极大地提高了应用的交互性和用户体验。记住,selector的灵活性很高,可以根据项目...

    Android selector

    在这个"Android selector"主题中,我们将深入探讨如何创建并使用状态选择器来控制按钮(Button)和文字的样式变化。 首先,一个状态选择器通常是一个XML文件,存储在res/drawable目录下。例如,我们可以创建一个名...

    Android ImageView的selector效果实例详解

    在平时开发中如Button我们给它加上selector分别呈现pressed以及normal效果能给我们的用户体验上大大增色不少,可是我们当我们是用ImageView来”当作”一个一个”Button”的时候发现直接设置selector却不起作用,当然...

    Android4.0开发学习之ImageButton

    首先,`ImageButton`的基本用法与`ImageView`相似,都是通过设置`android:src`属性来显示图像。但在`ImageButton`中,还可以设置`android:background`属性,用于定义按钮的背景,这通常是一个选择器(`selector`),...

    Android控件点击变色

    4. **使用Material Design库**:Android提供了Material Design库,其中的`MaterialButton`控件支持丰富的点击反馈效果,包括颜色变化: ```xml &lt;com.google.android.material.button.MaterialButton android:id=...

    Android 使用selector改变按钮状态实例详解

    而对于非ImageView的自定义控件,可能需要手动调用`setPressed()`方法来改变按下状态: ```java myCustomView.setPressed(isPressed); ``` 除了按钮,Selector还可以用于其他控件,如ImageView。在描述中提到的...

    Android开发教你使用ImageButton系统图标

    比如,我们可以创建一个选择器(`drawable/button_selector.xml`): ```xml &lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt; ...

    Android2.2 API 中文文档系列(7) —— ImageButton

    `ImageButton`是`ImageView`的一个子类,继承了`ImageView`的所有功能,并添加了一些额外的功能,使其能够作为用户界面中的按钮来使用。 #### 类层次结构 `ImageButton`的类层次结构如下所示: 1. `java.lang....

    android ImageButton的使用

    在Android开发中,`ImageButton`是一个非常常用的组件,它继承自`ImageView`,但与普通的`ImageView`不同,`ImageButton`允许用户点击,因此常用于实现具有交互功能的按钮。本篇文章将深入探讨`ImageButton`的使用,...

    简单易懂的VectorDrawable画图例子

    通过理解其基本原理和使用方法,开发者能够创建出更加美观且适应性强的用户界面。实践中的应用包括图标、按钮、自定义视图等,结合 AnimatedVectorDrawable 还可以实现丰富的图形动画效果。熟悉和掌握VectorDrawable...

    Android selector背景选择器的使用详解

    本篇文章将深入探讨Android中的Selector背景选择器的使用方法。 首先,让我们了解Selector的基本结构。Selector是XML文件,通常存储在项目的res/drawable目录下。以下是一个简单的Selector示例: ```xml &lt;selector...

    android ImageButton示例

    在本示例中,我们将深入探讨`ImageButton`的使用方法,包括如何在布局文件中声明、如何设置图片资源、如何处理点击事件,以及一些实用的属性和技巧。 首先,`ImageButton`在XML布局文件中的声明方式与`ImageView`...

    Android 带图片的按钮源码.rar

    如果需要更复杂的按钮功能,比如动画效果或者自定义形状,可以创建自定义视图类继承自`Button`或`ImageView`,并在其中重写相关方法以实现自定义逻辑。 5. **样式与主题**: Android允许通过定义样式和主题来统一...

    不用更换图片的点击效果.zip

    2. **自定义View**:开发者可以继承Android的基础控件,如Button、ImageView等,然后重写`onDraw()`方法,在点击时改变绘制的颜色、阴影等属性,从而实现独特的点击效果。 3. **使用Animation**:通过定义动画资源...

    android下菜单、颜色等资源文件的定义及访问

    ImageView imageView = findViewById(R.id.imageView1); imageView.setImageResource(R.drawable.my_image); ``` #### StateListDrawable StateListDrawable是一种特殊的Drawable资源,可以根据控件的状态(如按...

    Android-SelectorInjection一个强大的selector注入器

    5. **兼容性**:SelectorInjection适用于各种View类型,如Button、ImageView、TextView等,且兼容不同的Android版本。 6. **提高效率**:通过减少重复劳动,开发者可以更专注于业务逻辑的实现,提升开发效率。 **...

    Android应用源码之ImageButton_应用.zip

    可以使用`setOnClickListener`方法: ```java ImageButton imageButton = findViewById(R.id.image_button); imageButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v...

    安卓Android源码——不用更换图片的点击效果.zip

    如果需要在代码中动态设置按钮的点击效果,可以使用`setBackgroundResource()`或`setBackgroundDrawable()`方法,传入我们自定义的StateListDrawable资源。 7. **优化性能**: 尽管自定义Drawable可以提供丰富的...

    android UI设计

    **使用方法:** 1. **创建样式文件**:在`res/values`目录下创建`styles.xml`文件。 2. **定义样式**:在`styles.xml`文件中使用`&lt;style&gt;`标签定义具体的样式,可以指定颜色、字体大小等属性。 ```xml ...

    swift3 label image button textfield创建以及使用方法

    以上就是在Swift3中创建和使用Label、Image、Button和TextField的基本方法。在实际应用中,开发者会结合Auto Layout进行布局,并可能使用更多的属性和方法来实现更复杂的功能,如自定义字体、边框、阴影等。通过不断...

Global site tag (gtag.js) - Google Analytics