我使用解决方案创建TextView并触摸TextView: 这是布局xml:我创建6个TextViews以在屏幕上触摸时显示值。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/txtPreSelect1"
android:layout_width="@dimen/d_60"
android:layout_height="match_parent"
android:gravity="center"
android:text="000"
/>
<TextView
android:id="@+id/txtPreSelect2"
android:layout_width="@dimen/d_60"
android:layout_height="match_parent"
android:gravity="center"
android:text="0"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="200dp"
android:layout_height="1dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/txtSelect1"
android:layout_width="@dimen/d_60"
android:layout_height="match_parent"
android:layout_marginRight="@dimen/d_40"
android:gravity="center"
android:text="001"
/>
<TextView
android:id="@+id/txtSelect2"
android:layout_width="@dimen/d_60"
android:layout_height="match_parent"
android:gravity="center"
android:text="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:layout_width="200dp"
android:layout_height="1dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/txtNextSelect1"
android:layout_width="@dimen/d_60"
android:layout_height="match_parent"
android:layout_marginRight="@dimen/d_40"
android:gravity="center"
android:text="002"
/>
<TextView
android:id="@+id/txtNextSelect2"
android:layout_width="@dimen/d_60"
android:layout_height="match_parent"
android:gravity="center"
android:text="2"
/>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center|right"
android:orientation="horizontal">
<TextView
android:id="@+id/btnCancel"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="@string/btnCancel"/>
<TextView
android:id="@+id/btnOK"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="@string/btnOK"
/>
</LinearLayout>
</LinearLayout>
我在TextViews上创建事件Touch,以更改Textview的值:
dialog.txtPreSelect1.setOnTouchListener {v: View, event: MotionEvent ->
// Perform tasks here
when (event.action)
{
MotionEvent.ACTION_DOWN ->{
yValue=event.y
}
MotionEvent.ACTION_MOVE ->{
val curentY=event.y
if(curentY>yValue)
{
if(curentY>yValue) {
yValue=curentY
var iStartValue=dialog.txtPreSelect1.text.toString().toInt() - iStep1
dialog.txtPreSelect1.text = iStartValue.toString()
iStartValue=iStartValue +iStep1
dialog.txtSelect1.text = iStartValue.toString()
iStartValue=iStartValue +iStep1 dialog.txtNextSelect1.text = iStartValue.toString()
}
}
else if(curentY<yValue)
{
if(curentY<yValue) {
yValue=curentY
var iStartValue=dialog.txtPreSelect1.text.toString().toInt() + iStep1
dialog.txtPreSelect1.text = iStartValue.toString()
iStartValue += iStep1
dialog.txtSelect1.text = iStartValue.toString()
dialog.txtNextSelect1.text = iStartValue.toString()
}
}
}
}
true
}
如何创建事件移动文本相同的图像2? 或存在其他视图可以处理我的工作? 谢谢大家。
答案 0 :(得分:1)
如果我理解正确您的问题是使用列表创建两个视图,那么您可以单独触摸和滚动它们。
您可以尝试深入了解与您尝试访问的库非常相似的库:SingleDateAndTimePicker
答案 1 :(得分:0)
我最好的猜测是你想使用原生组件。您可以使用ListView,但这需要的代码多于Number Picker。 Number Picker专门用于处理此类情况。
在这里,Nice example可以向您展示如何在对话框中使用它。基本上你需要一个水平方向LinearLayout并在其中放置两个Number Picker
。
您可以在java / kotlin的帮助下设置MinValue
和MaxValue
,如下所示:
numberPicker.setMaxValue(50);
numberPicker.setMinValue(1);
如果您有任何疑问,请与我们联系。