このimageからわかるように、私はいくつかの画像ビューがある灰色の領域を持っています。この領域は、水平スクロールビュー内のLinearLayoutです。さらに、各画像ビューには、ACTION_DOWNがあるときにドラッグアンドドロップを開始するOnTouchListenerがあります。私のAction_DOWNと私のScrollviewとの間の衝突
ご理解いただけるように、スクロールしようとすると問題が発生します。確かに、ACTION_DOWNは「選択」されているので、私はscrollできません。
だから私は考えているいくつかのソリューションは:
- が高いエリアを配置すると、何もないところユーザーがスクロールすることができます。
- OnTouchListener使用しますが、OnLongClickListener
しかし、これらのソリューションのどれも私のために良いありません。私は自分の問題をどのように解決できるか考えていますか?
私のXMLコード:
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:background="#5d6164"
android:id="@+id/horizontalScrollView" >
<LinearLayout
android:id="@+id/area2_timetable"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center">
</LinearLayout>
</HorizontalScrollView>
マイOnTouch方法:
View.OnTouchListener myOnTouchListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
if (action==MotionEvent.ACTION_DOWN)
{
SharedPreferences mSharedPrefs = getSharedPreferences("User", Context.MODE_PRIVATE);
if(mSharedPrefs.getInt("son_active", 0)==1) Son(VariablesManagement.nom_stockage_meal.get(v.getId()));
ClipData data = ClipData.newPlainText("", "");
DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(v);
v.startDrag(data, shadowBuilder, v, 0);
}
return false;
}
};
私は私のJavaコードが便利ですので、私は明確に持っているために、(それを入れていなかったとは思いませんあなたがそれが助けることができると思うかどうか尋ねることを躊躇しないでください。
ありがとうございました!
助けるあなたをありがとう –
あなたImageViewののonTouchメソッドのコードスニペットを追加します!私はコードを使って投稿を編集しました。 – ValentinLoricourt
私は同様のケースを作成しましたが、問題なくスクロールできるようになりました! –