[解決済み] アンドロイドでビューページャーのスワイプを無効にする方法と有効にする方法
2023-08-12 20:22:25
質問
私がやろうとしていることは何ですか? プログラム実行中にページャーでスワイプを有効/無効にしようとしています。
例
フロー上で、ある条件をチェックし、それが返ってきたら
true
スワイプを有効にし、条件が満たされたら
false
を返すとスワイプを無効にします。
私が使っている解決策はこれです
public class CustomViewPager extends ViewPager {
private boolean enabled;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onTouchEvent(event);
}
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onInterceptTouchEvent(event);
}
return false;
}
public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
} }
そして、XMLに組み込まれたビューページャーの代わりに、これを選択します。
<mypackage.CustomViewPager
android:id="@+id/myViewPager"
android:layout_height="match_parent"
android:layout_width="match_parent" />
メソッドに "setPagingEnabled" を "false" で呼び出すだけで、ユーザーはスワイプしてページ分割することができなくなります。
上記の方法論における問題点。 フローにプロパティを設定できない。スワイプを有効にしたり、無効にしたりすることができます。しかし、私は条件に基づいてこれを行うことはできません
質問です。
- 別の方法で目標を達成することはできますか?
- それとも、これは不可能なのでしょうか?
どのように解決するのですか?
スワイプを無効にする方法
final View touchView = findViewById(R.id.Pager);
touchView.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
return true;
}
});
で、これを利用して手動でスワイプする
touchView.setCurrentItem(int index);
関連
-
[解決済み] ViewPagerで指のスワイプによるページングを無効にし、プログラムによるスワイプはできるようにするにはどうすればよいですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] ViewPagerでFragmentが表示されるタイミングを決定する方法
-
[解決済み] ViewPager PagerAdapter がビューを更新しない
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] アンドロイドアプリのユーザーデータを消去する
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ViewPagerで指のスワイプによるページングを無効にし、プログラムによるスワイプはできるようにするにはどうすればよいですか?
-
[解決済み] ViewPagerのスクロールを無効にすることは可能ですか?
-
[解決済み] HttpPostによる画像送信
-
[解決済み] プログラムでソフトキーボードを開く
-
[解決済み] DialogFragmentを正しく終了させるには?
-
[解決済み] 通知をクリックした後にアプリケーションを開く
-
[解決済み] Android - Snackbar vs Toast - 使い方と違い。
-
[解決済み] Gradleでビルドタイプを使用し、ContentProviderを使用する同じアプリを1つのデバイスで実行する。
-
[解決済み] グリッドビューの高さが削減される
-
[解決済み] アダプタからActivityメソッドを呼び出す