首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类似调频广播的模拟控制

类似调频广播的模拟控制
EN

Stack Overflow用户
提问于 2012-11-13 05:03:35
回答 3查看 1.4K关注 0票数 2

我想用一个普通的EditText控件(inputType="numberDecimal")来输入一些十进制数,这个控件是我们在模拟FM收音机中都知道的:

基本上你有一个整数序列,这个序列的一部分是可视化显示的。你指定了一个minValue & maxValue,currentValue就会以某种方式被突出显示。向左滑动应该会增加显示的数字,向右滑动应该会减少它们。

有没有人知道类似的东西是否已经在android中实现了,或者有什么技巧来实现它?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-13 10:07:43

我看到的最相似的项目是Android Wheel

使用权限时具有震动效果

代码语言:javascript
复制
<uses-permission android:name="android.permission.VIBRATE" />

要在当前布局中包含轮子小部件,应在布局xml中添加以下代码行:

代码语言:javascript
复制
<it.sephiroth.android.wheel.view.Wheel
android:id="@+id/wheel"
xmlns:sephiroth="http://schemas.android.com/apk/res/it.sephiroth.android.wheel"
android:layout_width="match_parent"
android:layout_height="match_parent"
sephiroth:numRotations="6"
sephiroth:ticks="28" />

其中,numRotations是轮子可以执行的最大旋转次数,ticks是轮子将显示的刻度总数。

然后,在您的活动中,您可以将OnScrollListener侦听器添加到轮子小部件中,方法如下:

代码语言:javascript
复制
mWheel = (Wheel) findViewById( R.id.wheel );
mWheel.setOnScrollListener( new OnScrollListener() {

@Override
public void onScrollStarted( Wheel view, float value, int roundValue ) {
}

@Override
public void onScrollFinished( Wheel view, float value, int roundValue ) {
}

@Override
public void onScroll( Wheel view, float value, int roundValue ) {
}
} );

另一个可能有用的是DateSlider

票数 2
EN

Stack Overflow用户

发布于 2012-11-13 05:52:26

我不认为这是一个内置的功能。

我在这里找到了类似的东西-- http://mobile.tutsplus.com/tutorials/android/android-sdk-creating-a-rotating-dialer/

要想让它像你想要的那样,你必须把它放在一个framelayout中,并在中间放一个文本视图来显示数字。

框架布局- http://developer.android.com/reference/android/widget/FrameLayout.html

我没有深入阅读该教程,但我可以想象,通过将图像更改为水平刻度盘,以及通过更改onTouchListener,您将能够确切地获得您想要的内容。

如果你对此有任何疑问,请提出来,我会尽力帮助你

票数 1
EN

Stack Overflow用户

发布于 2012-11-13 08:44:14

查看控制盘小部件:http://code.google.com/p/android-wheel/

它可能会做你想做的事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13351529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档