安卓垂直切换小部件

10

我想在Android上实现一个垂直的开关小部件。据我所知,开关似乎只有水平方向。我希望有类似下面的效果:

enter image description here

在这里查找线程并搜索Google后,我仍然没有找到可以给我这个结果的东西。我搜索到的所有内容都只给出了水平的实现。

因此,我可以生成您典型的水平开关。

     <Switch
            android:id="@+id/switch_button"
            android:layout_width="130dp"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/label"
            android:layout_gravity="center"
            android:switchMinWidth="130dp"
            android:thumb="@drawable/switch_selector" 
            android:track="@drawable/track_selector" >
     </Switch>

但似乎没有一个好的方式来设置方向。我知道这个问题有点高级。是否有一些立即可用的属性,可以让我拥有垂直切换?还是我必须创建一个自定义开关,并可能修改onDraw方法以使其垂直翻转?感谢任何帮助。


等等,为什么要踩我?我有一个关于某个问题的疑问,经过了一番研究后仍然无法得出答案。我还提供了一个图示来说明我需要的东西...正如我所说,任何帮助都将不胜感激。 - New Guy
3个回答

13

尝试像这样使用 android:rotation="90":

 <Switch
            android:id="@+id/switch_button"
            android:layout_width="130dp"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/label"
            android:layout_gravity="center"
            android:switchMinWidth="130dp"
            android:thumb="@drawable/switch_selector" 
            android:track="@drawable/track_selector" 
            android:rotation="90">
     </Switch>

1
非常简单!但有一个问题!旋转也会旋转任何文本。不过,将文本分离到另一个TextView中并不难。 - SMBiggs

0

垂直方向没有快速属性.. 抱歉 :) 首先,您可以查看开关的代码,看看是否可以复制和操作它。 其次,您可以自己实现。使用一个包含按钮的布局。使用onTouchListener将其从一侧滑动到另一侧。不需要使用"onDraw"。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接