【Android】实现打开关闭效果

最近抽时间学习一下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);
    }

开发中效果:

运行效果:

时间: 2024-10-24 21:45:10

【Android】实现打开关闭效果的相关文章

菜单打开关闭效果

菜单打开关闭效果 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>菜单打开关闭</title> <style type="text/css"> *{

android监听屏幕打开关闭广播无响应的情况

android在屏幕打开和关闭的时候会发出广播,但是如果receiver配置在AndroidManifest.xml中时,receiver是接受不到任何广播的. <receiver android:name="cn.abcd.listener.ScreenStateReceiver" > <intent-filter> <action android:name="android.intent.action.SCREEN_OFF" /&g

Android: wifi打开和关闭的流程解析

1,组件图 提供了wifi打开/关闭时,一些相关模块的依赖关系. 2,简介: wifi打开: 由jni依赖的libnetutils.so提供wifi驱动的加载. 由netd来完成softap相关的fwreload的操作. 由jni依赖的libnetutils.so 启动wpa_supplicant服务 wifi关闭: 由jni依赖的libnetutils.so停掉wpa_supplicant服务. 由jni依赖的libnetutils.so卸载wifi相关驱动. 3,详细的流程:见如下序列图

Android禁止按键关闭AlertDialog

在Android系统中,默认点击AlertDialog中的按键都会关闭该AlertDialog,但有些情况下我们并不希望使对话框关闭,或者希望使对话框在自己需要的时候再关闭. 例如我现在做的一个项目,通过AlertDialog读取用户输入的一个值,希望只有在判断值为正确范围内才关闭该对话框,否则对话框予以保留,并给以用户相应的提醒. 可以利用反射的机制来实现这一效果: 不关闭对话框: ? 1 2 3 4 5 6 7 8 9 10 // 使对话框无法关闭 try {     Field field

Android 当打开“开发人员模式”中的“不保留活动”后,程序应当怎么保持正常执行

Android 当打开"开发人员模式"中的"不保留活动"后,程序应当怎么保持正常执行咧. .? 在这几天,我一直在纠结这个问题.从发现,程序出现这个问题,是由于"开发人员模式"中的"不保留活动"被打开了,到怎么获取"不保留活动"的值. 发现"不保留活动",是从京东客服端获得的灵感 得到"不保留活动"的值.是查看了Android原声的APP,Settings应用程序,查

android之打开网页

首先改写strings.xml文件 代码如下: <resources> <string name="app_name">Intent应用</string> <string name="open_name">标准Action操作</string> <string name="menu_settings">Settings</string> <string na

activity的打开关闭动画

Activity的打开关闭或者说相互跳转之间可以设置动画的.默认的打开关闭直接消失或出现,比较不优美,但是有的手机Rom对这个默认做了修改,比如红米HM1,默认的就是新页面自右向左滑动出现,自左向右滑动消失. 设置动画有两种方法: 1.利用Activity的方法在代码中设置: public void overridePendingTransition (int enterAnim, int exitAnim)Call immediately after one of the flavors of

Android 当打开“开发者模式”中的“不保留活动”后,程序应当怎么保持正常运行

Android 当打开"开发者模式"中的"不保留活动"后,程序应当怎么保持正常运行咧..? 在这几天,我一直在纠结这个问题.从发现,程序出现这个问题,是因为"开发者模式"中的"不保留活动"被打开了,到怎么获取"不保留活动"的值. 发现"不保留活动",是从京东客服端获得的灵感 得到"不保留活动"的值,是查看了Android原声的APP,Settings应用程序,查看源码

【小松教你手游开发】【unity实用技能】给每个GameObject的打开关闭加上一个渐变

在游戏开发中,经常会因为直接将GameObject,setActive的方式打开关闭,这种方式效果太过生硬而给它加上一个Tween 可能是AlphaTween或者ScaleTween. 再加上一个PlayTween来做控制. 这样子需要在每个GameObject上加上这几个Component不说,还很不好用 所以结合之前用的一个拓展函数的方法,想到一个非常非常方便的方法 (之前的拓展函数文章:http://blog.csdn.net/chrisfxs/article/details/512218