【Android】实现打开关闭效果

简介: 最近抽时间学习一下Android,做个笔记: 布局xml: @Override protected void onCreate(Bundle savedInstanceState) { super.

最近抽时间学习一下Android,做个笔记:

布局xml:

   <LinearLayout
                     android:id="@+id/date_label"
                    android:layout_width="35dp"
                    android:layout_height="wrap_content"
                    android:background="@layout/slipercornerenable"
                    android:gravity="right|center"
                    android:padding="1dp" >

                    <LinearLayout
                        android:layout_width="18dp"
                        android:layout_height="18dp"
                        android:background="@layout/slipercircle" >
                    </LinearLayout>
                </LinearLayout>
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    view = View.inflate(this, layout.listview_select_date, null);
//设置两个选项的监听
            view.findViewById(id.date_label).setOnClickListener(this);
            view.findViewById(id.auto_update_date).setOnClickListener(this);

}

切换方法:

 
    void switchControl(View view) {
        LinearLayout llLayout = (LinearLayout) view;
        int tag = 0;
        if (view.getTag() != null) {
            tag = Integer.parseInt(view.getTag().toString());
        }
        if (tag == 0) {
            // 打开
            view.setTag(1);
            view.setBackgroundResource(layout.slipercornerenable);
            llLayout.setGravity(Gravity.RIGHT);
        } else {
            // 关闭
            view.setTag(0);
            view.setBackgroundResource(layout.slipercornerdisenable);
            llLayout.setGravity(Gravity.LEFT);
        }
    }

 

实现onClick事件:

    @Override
    public void onClick(View arg0) {
        int cid = arg0.getId();
        switch (cid) {         
        case id.date_label:// 日期标签
            switchControl(arg0);
            return;            
        case id. auto_update_date:// 自动同步日期
            switchControl(arg0);
            return;
        default:
            break;
        }
        super.onClick(arg0);
    }

 

开发中效果:

运行效果:

 

相关文章
|
Android开发
flutter中实现仿Android端的onResume和onPause方法
flutter中实现仿Android端的onResume和onPause方法
|
缓存 JSON Java
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
449 1
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
|
Android开发 容器
Android实现面包屑效果,支持Fragment联动
Android实现面包屑效果,支持Fragment联动
|
Android开发
Android实现连线题效果
Android实现连线题效果
|
移动开发 JavaScript Android开发
通过howler.js实现在Android下的微信浏览器自动播放音频
通过howler.js实现在Android下的微信浏览器自动播放音频
547 0
通过howler.js实现在Android下的微信浏览器自动播放音频
|
数据库 Android开发
android 多级下拉菜单实现教程 greendao使用
android 多级下拉菜单实现教程 greendao使用
249 0
android 多级下拉菜单实现教程 greendao使用
|
存储 API Android开发
深入剖析Android四大组件(四)——Messenger实现Android IPC
深入剖析Android四大组件(四)——Messenger实现Android IPC
149 2
|
监控 前端开发 Java
Android自定义控件(十)——SurfaceView实战实现天气APP背景移动效果
Android自定义控件(十)——SurfaceView实战实现天气APP背景移动效果
457 0
|
XML 开发工具 Android开发
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
310 0
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
|
Android开发
Android自定义控件(七)——ShapeDrawable实现放大镜效果
Android自定义控件(七)——ShapeDrawable实现放大镜效果
504 0
Android自定义控件(七)——ShapeDrawable实现放大镜效果