2

通常のEditTextコントロール(inputType = "numberDecimal")に置き換えて、アナログFMラジオでよく知られているコントロールで10進数を入力したいと思います。

ここに画像の説明を入力してください

基本的に整数シーケンスがあり、このシーケンスの一部が視覚的に表示されます。minValueとmaxValueを指定すると、currentValueが何らかの形で強調表示されます。左にスワイプすると表示される数値が増加し、右にスワイプすると減少します。

似たようなものがすでにAndroidに組み込まれているかどうか、またはこれを実装するためのヒントがあるかどうかを誰かが知っていますか?

4

3 に答える 3

2

私が見た最も類似したプロジェクトはAndroidWheelです

スクリーンショット

許可を得て振動効果がありました

<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 ) {
}
} );

もう1つの便利なものはDateSliderです SS2

于 2012-11-13T02:07:43.107 に答える
1

そのための機能が組み込まれているとは思いません。

私はここでオンラインで似たようなものを見つけました-http://mobile.tutsplus.com/tutorials/android/android-sdk-creating-a-rotating-dialer/

あなたが望むもののようにするために、あなたはそれをでframelayout出し、そして番号を表示するテキストビューを真ん中に置く必要があるでしょう。

フレームレイアウト-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 に答える