自定义开关Button
2016-03-16 16:58
337 查看
<span style="font-family: Arial, Helvetica, sans-serif;">import android.graphics.drawable.Drawable;</span>
<span style="font-family: Arial, Helvetica, sans-serif;">import android.util.AttributeSet;</span>
import android.view.LayoutInflater;import android.view.View;import android.widget.FrameLayout;import android.widget.ImageView;import com.hyphenate.easeui.R;public class SwitchButton extends FrameLayout{private ImageView openImage;private ImageView closeImage;public SwitchButton(Context context, AttributeSet attrs, int defStyle) {this(context, attrs);}public SwitchButton(Context context) {this(context, null);}public SwitchButton(Context context, AttributeSet attrs) {super(context, attrs);TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.SwitchButton);Drawable openDrawable = ta.getDrawable(R.styleable.SwitchButton_switchOpenImage);Drawable closeDrawable = ta.getDrawable(R.styleable.SwitchButton_switchCloseImage);int switchStatus = ta.getInt(R.styleable.SwitchButton_switchStatus, 0);ta.recycle();LayoutInflater.from(context).inflate(R.layout.widget_switch_button, this);openImage = (ImageView) findViewById(R.id.iv_switch_open);closeImage = (ImageView) findViewById(R.id.iv_switch_close);if(openDrawable != null){openImage.setImageDrawable(openDrawable);}if(closeDrawable != null){closeImage.setImageDrawable(closeDrawable);}if(switchStatus == 1){closeSwitch();}}/*** 开关是否为打开状态*/public boolean isSwitchOpen(){return openImage.getVisibility() == View.VISIBLE;}/*** 打开开关*/public void openSwitch(){openImage.setVisibility(View.VISIBLE);closeImage.setVisibility(View.INVISIBLE);}/*** 关闭开关*/public void closeSwitch(){openImage.setVisibility(View.INVISIBLE);closeImage.setVisibility(View.VISIBLE);}}布局代码
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content" ><ImageViewandroid:id="@+id/iv_switch_open"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/ease_open_icon"android:visibility="visible" /><ImageViewandroid:id="@+id/iv_switch_close"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/ease_close_icon"android:visibility="invisible" /></FrameLayout>
}
相关文章推荐
- 第3 周项目3-输出星号图
- MySQL基于ROW格式的数据恢复
- BZOJ-1925 地精部落 烧脑DP+滚动数组
- 【bzoj1901】Zju2112 Dynamic Rankings
- SCP 命令
- 字符串最小周期串问题
- C#使用DevExpress与panel的加载
- 根据ASCII找出乱码字符
- SQLServer 之 2008还原的时候无法获得对数据库的独占访问权解决
- Android手机之间的蓝牙通信的代码和原理
- Browser Caching
- android中root用户无法往某些目录写入文件解决方法
- DataGridView 行列
- SpringMVC注解版前台向后台传值的两种方式
- laravel中的杂记
- 【Android进阶】ScrollView内嵌套ListView时禁止ListView的滚动
- 深入理解计算机系统学习之信息的表示和处理
- js中判断数据为空
- 从后台下载语音/视频并播放
- Android中ContentProvider组件数据共享