2

我想用我们都知道的模拟 FM 收音机的控件替换普通的 EditText 控件 (inputType="numberDecimal") 来输入一些十进制数字:

在此处输入图像描述

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

任何人都知道类似的东西是否已经在 android 中实现或有任何提示来实现这个?

4

3 回答 3

2

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

截屏

使用权限具有震动效果

<uses-permission android:name="android.permission.VIBRATE" />

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

<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 侦听器添加到车轮小部件:

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 SS2

于 2012-11-13T02:07:43.107 回答
1

我认为没有内置功能。

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

为了让它像你想要的那样,你必须把它放在 a 中framelayout,并在中间放一个 textview 来显示数字。

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

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

如果您对此问题有任何疑问,我会尽力提供帮助

于 2012-11-12T21:52:26.217 回答
0

查看 Wheel Widget:http ://code.google.com/p/android-wheel/

它可能会做你想做的事。

于 2012-11-13T00:44:13.740 回答