3

Я folowed этого example и умудряются ставить кнопку потрясающей в нужном местеесли установить LinearLayout вес, когда клавиатура выскакивает она изменяет свой континент

enter image description here

, но когда я нажимаю на редактирование текст клавиатура выскакивает и столовые до веса макета

enter image description here

Как я могу сделать, что ImageView будет статичным и при открытии клавиатуры она будет оставаться на том же размере?

XML:

<android.support.design.widget.CoordinatorLayout  
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/white" 
android:focusableInTouchMode="true"> 

<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<LinearLayout 
android:id="@+id/ViewA" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_weight="0.6" 
android:background="@color/colorPrimary" 
android:orientation="horizontal"> 

<ImageView 
    android:id="@+id/imgview" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:background="@color/light_blue" 
    android:scaleType="centerCrop" 
    android:src="@android:drawable/ic_menu_camera" 
    android:layout_gravity="top|center_horizontal" 
    /> 

</LinearLayout> 

<LinearLayout 
    android:id="@+id/ViewB" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="0.3" 
    android:orientation="horizontal"> 
</LinearLayout> 
</LinearLayout> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/add_image" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="@dimen/fab_margin" 
    app:layout_anchor="@id/ViewA" 
    android:clickable="true" 
    app:layout_anchorGravity="bottom|right" 
    app:elevation="5dp" 
    app:pressedTranslationZ="0dp" 
    android:src="@android:drawable/ic_menu_camera"/> 


</android.support.design.widget.CoordinatorLayout> 
+1

Я думаю, что это должно быть фактически управлять через манифест и атрибут 'windowSoftInputMode'. – zgc7009

ответ

2

Это происходит из-за андроида поведение по умолчанию, который будет просматривать размер, чтобы освободить место для клавиатуры. вы можете обновить это в файле манифеста значения Возможное андроида: windowSoftInputMode ->adjustResize, adjustPan, adjustUnspecified

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.MainActivity" 
     android:label="@string/app_name" 
     android:windowSoftInputMode="adjustPan" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

More info