141 votes

Android: Clavier Souple redimensionne l'image de fond

J'ai ce problème étrange attendu que lorsque le clavier apparaît, il redimensionne l'image d'arrière-plan. Reportez-vous à la capture d'écran ci-dessous: alt text

Comme vous pouvez le voir, le fond est sorta pressé. N'importe qui peut jeter une lumière sur les raisons de la bg redimensionne?

Ma Mise en page est comme suivre, merci à l'avance:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"      
 android:background="@drawable/page_bg"
 android:isScrollContainer="false"
    >       
 <LinearLayout android:layout_height="wrap_content" 
  android:orientation="horizontal"
  android:layout_width="fill_parent"
 >  
     <EditText android:id="@+id/CatName" 
      android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_weight="1"
   android:inputType="textCapSentences"
   android:lines="1"
  />
  <Button android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/save"
   android:onClick="saveCat"
  />
 </LinearLayout>
     <ImageButton
      android:id="@+id/add_totalk"
  android:layout_height="wrap_content" 
  android:layout_width="wrap_content"
  android:background="@null"
  android:src="@drawable/add_small"
  android:scaleType="center"
  android:onClick="createToTalk"
  android:layout_marginTop="5dp"
 />
    </LinearLayout>

199voto

SiGanteng Points 23915

Ok j'ai corrigé en utilisant

android:windowSoftInputMode="stateVisible|adjustPan"

entrée dans mon Activité dans le fichier de manifeste. Je pense qu'il a été causé par le fait d'avoir le ScrollView à l'intérieur de l'Activité.

114voto

parulb Points 211

J'ai connu le même problème, tout en développant une application de chat, chat écran avec une image d'arrière-plan. android:windowSoftInputMode="adjustResize" pressé mon image d'arrière-plan pour l'adapter à l'espace disponible après le clavier virtuel est affiché et "adjustPan" décalé toute la mise en page pour ajuster le clavier virtuel. La solution à ce problème était le fond de la fenêtre au lieu d'un modèle d'arrière-plan à l'intérieur d'une activité de XML. L'utilisation de getWindow().setBackgroundDrawable() dans votre activité.

14voto

BolbazarMarme Points 538

juste pour...plus

si u ont une listview sur votre activité u il faut ajouter à cette android:isScrollContainer="false" dans votre listview propriétés...

et n'oubliez pas d'ajouter android:windowSoftInputMode="adjustPan" dans votre manifeste xml à votre activité...

si vous les gars à l'aide de android:windowSoftInputMode="adjustUnspecified" avec défilement de la vue sur votre mise en page, puis votre fond sera toujours redimensionnée par le clavier...

il serait mieux si vous utilisez "adjustPan" valeur pour éviter que votre arrière-plan de redimensionnement...

2voto

David Points 1374

Ajouter cette ligne dans le fichier de manifeste et de consulter ce lienpour plus d'info

android:windowSoftInputMode=adjustUnspecified

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X