2013-08-05 2 views
8

Я создаю пользовательский интерфейс приложения. Когда я попытался ввести значение в EditText, тогда клавиатура перемещает пользовательский интерфейс вверх. Пожалуйста, помогите мне, когда клавиатура открыта, тогда она не должна перемещать пользовательский интерфейс вверх.UI двигаться вверх при открытии клавиатуры

<activity 
     android:name=".AddProductsActivity" 
     android:configChanges="orientation" 
     android:hardwareAccelerated="false" 
     android:windowSoftInputMode="adjustResize" /> 

ответ

12

Это решило мою проблему.

Спасибо всем.

<activity 
    android:name=".AddProductsActivity" 
    android:configChanges="orientation" 
    android:hardwareAccelerated="false" 
    android:windowSoftInputMode="adjustPan" /> 
+0

Хорошее решение! –

0

добавить следующую строку ваша деятельность тег в menifest

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
1
  1. Использование RelativeLayout для отображения верхней и нижней части панели, помещенную в другой RelativeLayout, которая покрывает весь экран.

для верхней панели:

android:id="@+id/top" 
android:layout_alignParentTop = "true" 
android:layout_alignParentRight = "true" 
android:layout_alignParentLeft = "true" 
android:layout_width="wrap_content" 
android:layout_height="<fix height like 50dp or as per requirement>" 

для нижней панели:

android:id="@+id/bottom" 
android:layout_alignParentBottom="true" 

  1. Теперь добавьте Scrollview как это:

    в ndroid: layout_width = "wrap_content" андроид: layout_height = "wrap_content" андроид: layout_below = "@ + идентификатор/сверху" андроид: layout_above = "@ + идентификатор/низ"

  2. Теперь добавьте вид ребенка к этот вид прокрутки, который может быть любым из RelativeLayout или LineareLayout. Нам нужен этот дочерний вид, чтобы просто обернуть другие дочерние представления, которые мы хотим добавить в середине экрана, теперь все, что мы хотим увидеть, просто добавьте это представление в качестве дочернего элемента этого макета, такого как EditText или что угодно.

Теперь, когда KeyBoard показывает вверх, средний Scrollview будет прокручиваться вверх, который не будет искажать ваш пользовательский интерфейс ..

Я надеюсь, что это будет полезно, вернись ко мне, если у вас все еще есть проблемы с это .. :)

0

Удалить эту строку android: windowSoftInputMode = "adjustResize" от тега в файле манифеста к этой активности.

0

Так как я использую TabActivity для моей основной деятельности, а затем FragmentActivity для моих закладок деятельности, манифест настройки, похоже, не помогает. Таким образом, мое решение заключается в следующем:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
    setContentView(R.layout.activity_fragment); 
    // Setup fragment 
    if (savedInstanceState == null) { 
     getSupportFragmentManager().beginTransaction() 
       .add(R.id.container, new Fragment()) 
       .commit(); 
    } 
} 

Явное называют setSoftInputMode (SOFT_INPUT_ADJUST_RESIZE) на создание. Надеюсь, что может помочь некоторым людям, если manifest.xml не поможет.

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