您的位置:首页 > 其它

自定义开关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>
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: