2015-10-15 8 views
37

キーボードの上にAndroid Snackbarを表示することはできますか(Y座標ではなく、重ねて表示されますか?キーボードが表示されている場合、Snackbarは現在非表示になりますが、これは望ましくない動作です。Android SnackBarをキーボードに表示しますか?

+1

私たちはこれを理解できなかったので、我々は今、スナックバーを表示するたびに、私たちは(私たちはエラーのために使用する)キーボードを隠し – fobbymaster

+0

あなたはキーボードを持っている場合は、通常、最高の経験を得るでしょう平凡な古いトーストを使って。これはキーボード上に表示され、キーボードを隠す必要はありません(ユーザを混乱させる可能性があります) – Entreco

答えて

48

あなたが巣ScrollViewであなたのレイアウトをした場合、あなたのスナックバー

+6

確かに動作しません... android 4.1.2 –

+0

これをどのようにアクティビティに入れますか? – Menasheh

+2

これをアクティビティのマニフェスト –

5

を含む活動のAndroidManifest.xmlのSet

android:windowSoftInputMode="adjustResize" 

、スナックバーは、キーボードの上部に表示されます。これは、キーボードの上にある空きスペースだけを使用するようにビューのサイズが変更されるためです。もちろん、キーボードが表示されているかどうかにかかわらず、必要に応じていつでもビューをスクロールできるようになります。

+0

これをアンドロイド:fillViewport = "true"で使用すると、ScrollViewが画面全体を塗りつぶすのを受け入れるはずです – FallasB

-3

@AbAppleticが言ったと同じように、マニフェスト、アプリケーション内部の次の行を配置します。これは

android:windowSoftInputMode="adjustResize"

0

スナックバーのための私のコードがあるとして同様の作業+あなたが を必要とするようrelativeLayoutは親のメインレイアウトIDであるI合格しました。

 snackbar=snackbar.make(relativeLayout,"Image is Saved to "+Savedfile.getPath().toString(),Snackbar.LENGTH_INDEFINITE) 
       .setAction("OK", new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         snackbar.dismiss(); 
         snackbar=null; 

         System.gc(); 
         finish(); 
        } 
       }); 
     snackbar.show(); 
7

スナックバーがショーするときは、キーボードを非表示にすることができます。

InputMethodManager imm = (InputMethodManager)activity.getSystemService(Activity.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), 0);

+0

あなたのsnackbarがtexteditへの入力に対する応答である場合、これはユーザーにとって非常に面倒です何か他のものをクリックして見苦しい(ちらつき)。スクロールビューアでネストする方が良い – Ivan