我想substitue正常的EditText控制(的inputType =「numberDecimal」),以輸入與控制一些十進制數,我們都從模擬FM無線電知道:模擬FM收音機等控制
基本上你有一個整數序列,這個序列的一部分是可視化顯示的。您指定minValue & maxValue,currentValue以某種方式突出顯示。向左滑動應增加顯示的數字,向右滑動應減少它們。
任何人都知道,如果類似的東西已經在android中實現或有任何提示來實現這個?
我想substitue正常的EditText控制(的inputType =「numberDecimal」),以輸入與控制一些十進制數,我們都從模擬FM無線電知道:模擬FM收音機等控制
基本上你有一個整數序列,這個序列的一部分是可視化顯示的。您指定minValue & maxValue,currentValue以某種方式突出顯示。向左滑動應增加顯示的數字,向右滑動應減少它們。
任何人都知道,如果類似的東西已經在android中實現或有任何提示來實現這個?
最相似的項目,我看到是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是車輪可以執行的最大轉數,而tick是車輪將顯示的滴答總數。
然後在你的活動,你可以添加一個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
我不認爲有一個內置的功能。
我也發現了類似網上的東西在這裏 - http://mobile.tutsplus.com/tutorials/android/android-sdk-creating-a-rotating-dialer/
爲了讓像你想要什麼,你將不得不出它在framelayout
,並把一個TextView中顯示數字的中間。
框架佈局 - http://developer.android.com/reference/android/widget/FrameLayout.html
我沒有經過太多深度的教程看,但我想由圖像改變成一個橫撥,並通過改變onTouchListener
,你將能夠得到什麼你要。
如果你有關於這個要求,我會盡力幫助
查找到車輪的Widget有任何疑問:http://code.google.com/p/android-wheel/
它可能會做你想要什麼。
這是假設有一個水平式的;我不確定有沒有。 –
我不認爲Wheel Widget支持橫向風格,所以我會先看看Yul突出強調的項目。 PS:我想要的控件不需要「輪子形狀」,像捲尺一樣的「線性形狀」就足夠了。控制輸入值的投擲手勢是唯一的必備功能...... – darksaga
感謝您指出兩個項目! 我今天忙於不同的事情,但會看看明天的代碼。 這兩個項目基本上都使用我想要的輸入控件中的功能,因此這是一個很好的起點。 請問,如果我對此有任何進展... – darksaga
昨天終於有一段時間投入了這個控制。看看DateSlider的實現正是我所需要的,代碼有很好的記錄和易於理解。現在我有了我想要的'數字輸入控制'。 Thx再次@Yul指出這個項目。 – darksaga