Android:如何创建幻灯片(开/关)按钮

obr*_*ien 12 android slider button slide switch-statement

我想创建一个滑动按钮(=某些东西作为开关),有两种状态:打开和关闭,因此用户必须按下按钮并滑动它以更改状态(类似于解锁滑块但不跨越整个屏幕).你知道怎么做吗?我真的试图找到答案,但我没有成功.

非常感谢!

Pad*_*mar 12

//在您的布局设计中以下行

<RelativeLayout android:layout_width="wrap_content" android:id="@+id/rl_onoff"
    android:layout_height="wrap_content">
<ImageView android:id="@+id/on_btn" android:layout_width="80dp"  android:layout_height="40dp" android:src="@drawable/on_btn" android:visibility="visible"></ImageView>
<ImageView android:id="@+id/off_btn" android:layout_width="80dp"  android:layout_height="40dp" android:src="@drawable/off_btn" android:visibility="invisible"></ImageView>
   </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

//在你的活动中调用它

ImageView mNotification_on_btn=(ImageView)findViewById(R.id.on_btn);
ImageView mNotification_off_btn=(ImageView)findViewById(R.id.off_btn);

    mNotification_on_btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mNotification_on_btn.setVisibility(View.GONE);
                mNotification_off_btn.setVisibility(View.VISIBLE);
            }
        });
    mNotification_off_btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mNotification_off_btn.setVisibility(View.GONE);
                mNotification_on_btn.setVisibility(View.VISIBLE);
            }
        });
Run Code Online (Sandbox Code Playgroud)

//这将在关闭切换按钮上切换为iphone样式在此输入图像描述 在此输入图像描述

  • 这不会有"过渡",它不会在两个州之间滑动.此外,这是一个不错的选择! (2认同)

obr*_*ien 10

好吧,如果你的目标SDK高于4.0(Ice Cream Sandwich),那么Switch组件似乎是最好的解决方案.所以对于其他将面临同样问题的人来说.:)