自定义开关Button
来源:互联网 发布:速写练线稿软件 编辑:程序博客网 时间:2024/05/18 00:31
<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" > <ImageView android:id="@+id/iv_switch_open" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/ease_open_icon" android:visibility="visible" /> <ImageView android: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>
}
0 0
- 自定义开关Button
- 自定义开关Button
- 自定义开关Button(一)
- 仿IOS开关button 自定义ios开关控件
- ios创建开关Button
- Button模拟开关按钮
- 自定义开关
- 自定义开关
- 自定义开关
- 自定义开关
- 自定义开关
- 自定义开关
- 自定义button
- 自定义BUTTON!
- 自定义button
- 自定义Button
- 自定义button
- 自定义button
- 【bzoj3261】最大异或和
- select下拉框之获取显示值问题
- UI设计常用的图像格式及特点太原UI设计师郭文军分享给你
- 不同宽度显示器下网页宽度的自适应
- 工厂模式的block回调(使用简单方便)
- 自定义开关Button
- 八皇后算法
- super_vars.php ref_var.php
- Android Studio使用相关博客汇总
- HDU3555 Bomb (数位dp)
- 怎样能在大小不同的屏幕上显示同样的网页(自适应网页设计)?
- Android系统下的动态Dex加载
- PAT (Advanced Level) Practise 1057 Stack (30)
- Javabean