時間を選択するための 2 つのスクロール ホイールをメイン ビューに配置したいと考えています。もの?http://code.google.com/p/mobiscroll/に似ていますが、Android に組み込まれています。タイム ピッカーは非常に面倒です。必要なものを選択するまで +- を押す必要があります。私はより直感的なものを好みます。そのようなことのためにどのようなオプションが存在しますか?
4775 次
3 に答える
0
ここにあなたのhour_listViewがあります。ストリングアダプターをセットするだけです。ArrayAdapter を使用して listView にデータを入力できると仮定します。
hr_list.setOnScrollListener(new OnScrollListener() {
int currentcount,topitem,firstitem,lastitem;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == SCROLL_STATE_IDLE && currentcount == 4) {
while (scrollState == SCROLL_STATE_TOUCH_SCROLL) {
}
LinearLayout item = (LinearLayout) view.getChildAt(0);
int height = item.getHeight();
int top = Math.abs(item.getTop()); // top is a negative value
if (top <= height/2){
view.smoothScrollToPositionFromTop(topitem, 0, 3000);
Log.d("Switch", "up");
}
if(top> height/2){
view.smoothScrollToPositionFromTop(topitem+1, 0,3000);
Log.d("Switch", "down");
}
}
}
そして、button.clickListener を設定すると、表示されている listView の中央の行番号が取得されます。
int list_hr = hr_list.getFirstVisiblePosition() - hr_list.getHeaderViewsCount();
いくつかの重要なポイント。* listView 1dp の仕切りの高さを設定します。*listView 内に侵入するために Linear レイアウトを使用します。
リストビューとボタンの XML
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Snap List"
android:textSize="25sp" />
<ListView
android:id="@+id/listView1"
android:layout_width="100dp"
android:layout_height="120dp"
android:fadingEdgeLength="33dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="73dp"
android:background="@drawable/lisbg"
android:scrollbars="none" >
</ListView>
<StackView
android:id="@+id/stackView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/listView1"
android:layout_marginLeft="103dp"
android:layout_marginTop="57dp"
android:layout_toRightOf="@+id/textView1" >
</StackView>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:layout_marginRight="58dp"
android:text="OK" />
<Button
android:id="@+id/button2"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:text="Scroll 5" />
行の XML。
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:textSize="25sp"
android:gravity="center_vertical|center_horizontal"
android:layout_gravity="center_vertical|center_horizontal"
android:text="TextView" />
于 2013-02-22T13:28:28.500 に答える
0
何も組み込まれていませんが、これを試すことができます: http://code.google.com/p/android-wheel/
于 2013-02-22T11:16:49.500 に答える
0
ここには、ソース コードを含む完全なプロジェクトがあります。 TestWheel.zip
TestWheel.zip
リンクからダウンロードしてください。- Eclipseにインポートします
- このプロジェクトをライブラリ プロジェクトに変換します (testWheel プロジェクトを右クリック ==> プロパティ ==> android ==>
is library
チェック ボックスをオンにします)。 - このライブラリ プロジェクトをプロジェクトに追加します。
- 次のコードをコピーして XML ファイルに貼り付けます。
于 2013-02-22T11:31:39.540 に答える