問題タブ [android-snackbar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - エスプレッソ テストでスナックバー ボタンをクリックする方法は?
これがだまされた質問だとは思いません。私は簡単なエスプレッソ テストを書いています。その一部には、スナックバーの [OK] ボタンをクリックすることが含まれます。
これはスローします
android.support.test.espresso.PerformException: ビューで「シングル クリック」を実行中にエラーが発生しました。「テキスト: is "Ok"」です。原因: java.lang.RuntimeException: ターゲット ビューが次の制約の 1 つ以上に一致しないため、アクションは実行されません: ビューの領域の少なくとも 90% がユーザーに表示されます。対象のビュー: "AppCompatButton{id=2131558552, res-name=snackbar_action, visibility=VISIBLE, width=264, height=144, has-focus=false, has-focusable=true, has-window-focus=true, is- clickable=true、is-enabled=true、is-focused=false、is-focusable=true、is-layout-requested=false、is-selected=false、root-is-layout-requested=false、has-input- connection=false, x=684.0, y=53.0, text=Ok, input-type=0, ime-target=false, has-links=false}"
何か案は?
android - android スナックバー - ロボット電気でテストする方法
ここから、robolectric にはシャドウ オブジェクトがないことがわかりましたが、スナックバー用のカスタム シャドウ オブジェクトを作成できます。
ネットワーク接続がないときに、コードにスナックバーを表示しています。ネットワーク接続がないときにスナックバーが表示されることを確認できる単体テスト (テスト ランナーとして robolectric を使用) を作成する方法を知りたいです。
スナックバーがxmlにないため、少し難しいです。したがって、実際のアクティビティコントローラーを宣言すると、その時点ではスナックバーがありません。
私たちが持っているトーストをテストする方法を知っていますかShadowToast.getTextOfLatestToast()
?
現在 org.robolectric:robolectric:3.0-rc2 を使用していますが、ShadowSnackbar.class が利用可能ではありません。
android - スナックバーにテキストが表示されない
Google デザイン ライブラリ (23.1.0) を使用してスナックバーを表示しています。私のスナックバーのコードは次のようになります。
スナックバーが作成され、表示されています。アクション ラベル、アクション カラー、およびすべてのリスナーが期待どおりに機能します。唯一のことは、「削除されました」というメッセージが表示されていないことです。デバッガーを使用し、snackbar.show() で実行を停止すると、snackbar > mView > mMessageView 内に mText というフィールドがあり、値が "Deleted" であることがわかります。それでも、スナックバーにメッセージが表示されません。文字列 const とリソース ID の両方を既に使用してみました。
さらに、きれいなプロジェクトで非常によく似たコードを使用してみましたが、動作します。原因は何ですか?
android - ビューページャーがスナックバーの非表示をインターセプト
範囲
ViewPager を含むフラグメントがあります。ビューページャーの各ページにはアイテム フラグメントが含まれています。アイテム フラグメントに対してアクションを実行すると、アイテム フラグメント内にスナックバーが表示されます。スナックバーはアイテム フラグメントの一部です (CoordinatorLayout はアイテム フラグメント レイアウトの一部です)。
問題
私が直面している問題は、ビューページャーがスワイプ イベントをインターセプトし、スナックバーを閉じる代わりにページを変更するため、スナックバーを閉じることができないことです。
質問
ビューページャーがスナックバーへのタッチをインターセプトしないようにしますが、アイテム フラグメントの残りの部分へのタッチはインターセプトします (ユーザーは、スナックバーをスワイプしていないときでもスワイプしてページを変更できるはずです)。これを行う方法を知っている人はいますか?
問題を示すサンプル アプリを作成しました。https://github.com/gfrederick/ViewPagerSnackbarで入手できます。
java - スナックバーの書体変更
次のコードで Snackbar をビルドします。
メッセージとアクションボタンの書体を変更したいのですが、解決策が見つかりません。
android - スナックバーを表示するときにリストビューを上に移動
画面の下部にスナックバーを表示するときに、リストビューを上に移動する必要があります。
スナックバーは完全に機能しますが、リストビューの下部のコンテンツを非表示にします。
これはレイアウトです:
android - ドロワーレイアウト上の Android スナックバー
スナックバー (RecyclerView 上) と DrawerLayout があります。スナックバーが表示されているときにドロワーレイアウトを開くと、スナックバーがドロワーに重なってしまいます。引き出しをスナックバーに重ねてほしい。これは可能ですか?