タグ付けされた質問 「ontouchlistener」

8
ScrollViewタッチ処理内のHorizo​​ntalScrollView
画面全体がスクロール可能になるように、レイアウト全体を囲むScrollViewがあります。このScrollViewの最初の要素は、水平方向にスクロールできる機能を持つHorizo​​ntalScrollViewブロックです。タッチイベントを処理し、ACTION_UPイベントで最も近い画像にビューを「スナップ」させるために、ontouchlistenerをhorizo​​ntalscrollviewに追加しました。 だから私がしようとしている効果は、あなたが一方から他方へスクロールすることができ、指を離すと一つの画面にスナップする、ストックのアンドロイドのホームスクリーンのようなものです。 これは1つの問題を除いてすべてうまく機能します。ACTION_UPを登録するには、ほぼ完全に水平に左から右にスワイプする必要があります。少なくとも縦方向にスワイプすると(多くの人がスマートフォンを左右にスワイプするときにそうする傾向があると思います)、ACTION_UPではなくACTION_CANCELを受け取ります。これは、horizo​​ntalscrollviewがscrollview内にあり、scrollviewが垂直方向のタッチをハイジャックして垂直方向のスクロールを可能にしているためと考えられます。 スクロールビューのタッチイベントを水平スクロールビュー内からのみ無効にしながら、スクロールビューの別の場所で通常の垂直スクロールを許可するにはどうすればよいですか? これが私のコードのサンプルです: public class HomeFeatureLayout extends HorizontalScrollView { private ArrayList<ListItem> items = null; private GestureDetector gestureDetector; View.OnTouchListener gestureListener; private static final int SWIPE_MIN_DISTANCE = 5; private static final int SWIPE_THRESHOLD_VELOCITY = 300; private int activeFeature = 0; public HomeFeatureLayout(Context context, ArrayList<ListItem> items){ super(context); setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); setFadingEdgeLength(0); …

4
AndroidボタンにはsetOnTouchListenerが呼び出されていますが、performClickをオーバーライドしません
onTouchListner()ボタンに追加しようとすると、 ボタンにはsetOnTouchListenerが呼び出されていますが、performClickをオーバーライドしません 警告。誰かがそれを修正する方法を知っていますか? btnleftclick.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { return false; } }); エラー: カスタムビューでsetOnTouchListenerが呼び出されていますが、performClickをオーバーライドしていませんonTouchEventをオーバーライドするビューまたはOnTouchListenerを使用するビューもperformClickを実装せず、クリックが検出されたときにそれを呼び出す場合、ビューはアクセシビリティアクションを適切に処理しない可能性があります。一部のアクセシビリティサービスは、クリックアクションが発生したときにperformClickを呼び出すため、クリックアクションを処理するロジックは、理想的にはView#performClickに配置する必要があります。

5
onTouchListener警告:onTouchはクリックが検出されたときにView#performClickを呼び出す必要があります
を作成しましたonTouchListener。残念ながら、onTouch()メソッドはthrows私に警告を出します: com/calculator/activitys/Calculator$1#onTouch should call View#performClick when a click is detected どういう意味ですか?この警告に関する情報は見つかりませんでした。ここに完全なコードがあります: LinearLayout llCalculatorContent = (LinearLayout) fragmentView.findViewById(R.id.calculator_content); llCalculatorContent.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Tools.hideKeyboard(getActivity(), getView()); getView().clearFocus(); return false; } });

4
touchListenerとclickListenerを使用してボタンを強調表示したままにします
次の操作を行った後、ボタンが強調表示されたままの状態で問題が発生しました。 public class MainActivity extends AppCompatActivity { @SuppressLint("ClickableViewAccessibility") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AppCompatButton button = (AppCompatButton) findViewById(R.id.mybutton); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.d("Test", "calling onClick"); } }); button.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.