2015-10-15 2 views
37

Можно ли показать Android Snackbar над клавиатурой (как в координате Y, а не в расслоении)? Snackbar в настоящее время скрывается, если отображается клавиатура, что является нежелательным поведением.Показать Android SnackBar над клавиатурой?

+1

Потому что мы не могли бы понять это, мы просто скрыть клавиатуру, когда мы выводим закусочной сейчас (который мы используем для ошибок) – fobbymaster

+0

Если у вас есть клавиатуры, вы обычно получаете лучший опыт используя простой старый тост. Это будет показано на клавиатуре, и вам не нужно будет скрывать клавиатуру (что может смутить пользователя) – Entreco

ответ

48

Set

android:windowSoftInputMode="adjustResize" 

в AndroidManifest.xml для деятельности, содержащей вашу закусочную

+6

Определенно не работает ... android 4.1.2 –

+0

Как вы это помещаете в действие? – Menasheh

+2

Вы помещаете это в манифест вашей деятельности –

5

Если гнездо макета в ScrollView, то закусочная появится на верхней части клавиатуры. Это связано с тем, что представление изменит размер, чтобы заняться только доступным пространством над клавиатурой. И, конечно же, ваш вид также будет прокручиваться, если необходимо, в любое время, пока отображается клавиатура.

+0

Использование этого с android: fillViewport = "true", чтобы убедиться, что ScrollView заполняет весь экран, должен быть принятым ответом – FallasB

-3

Как сказал @AbAppletic, поместите следующую строку внутри приложений манифеста:

android:windowSoftInputMode="adjustResize"

0

Это мой код для закусочной и его работа так же +, как вам нужно RelativeLayout является родительским основным макетом идентификатором я Прошло.

 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

Вы можете скрыть клавиатуру, когда Snackbar быть шоу.

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

+0

в том случае, если ваш snackbar является ответом на ввод текста в textedit, это очень недружелюбно для пользователя, поскольку это может закончиться нажатие на что-либо еще и неприятное для просмотра (мерцание). лучше будет гнездо с scrollviewer – Ivan

 Смежные вопросы

  • Нет связанных вопросов^_^