26

Quando provo a scrivere qualcosa in un EditText che si trova nella parte inferiore dello schermo, la tastiera virtuale nasconde editText.how posso risolvere questo problema? sotto c'è il mio codice xml. Sto usando questa schermata in Fragment.Tastiera Android nasconde EditText

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 


     <LinearLayout 
      android:id="@+id/linearLayoutTopDetails" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/linearLayoutTop" 
      android:layout_marginLeft="6dp" 
      android:layout_marginRight="6dp" 
      android:layout_marginTop="6dp" 
      android:orientation="vertical" > 

      <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/list_design1" 
       android:orientation="vertical" > 

       <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="80dp" 
        android:layout_weight="100" 
        android:orientation="horizontal" > 

        <ImageView 
         android:id="@+id/ImageViewProfImagePostDetail" 
         android:layout_width="0dp" 
         android:layout_height="fill_parent" 
         android:layout_marginTop="2dp" 
         android:layout_weight="24.84" 
         android:paddingLeft="5dp" 
         android:paddingRight="5dp" 
         android:paddingTop="5dp" /> 

        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="wrap_content" 
         android:layout_weight="60" 
         android:orientation="vertical" > 

         <TextView 
          android:id="@+id/textViewNamePostDetail" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="Robin" 
          android:textSize="17sp" /> 

         <TextView 
          android:id="@+id/textViewLocationPostDetail" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginTop="1dp" 
          android:drawableLeft="@drawable/location" 
          android:text="beijing, China" /> 

         <TextView 
          android:id="@+id/textViewTimeAgoPostDetail" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text=" 18min ago" /> 
        </LinearLayout> 

        <LinearLayout 
         android:layout_width="0dp" 
         android:layout_height="fill_parent" 
         android:layout_weight="15" 
         android:orientation="horizontal" > 

         <TextView 
          android:id="@+id/textViewReportAbusePostDetail" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_gravity="center" 
          android:background="@drawable/flag" 
          android:paddingLeft="5dp" /> 

         <TextView 
          android:id="@+id/textViewDeletePostDetail" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_gravity="center" 
          android:layout_marginLeft="15dp" 
          android:background="@drawable/delete" 
          android:visibility="gone" /> 
        </LinearLayout> 
       </LinearLayout> 

       <TextView 
        android:id="@+id/textViewDescriptionPostDetail" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="20dp" 
        android:layout_marginTop="2dp" 
        android:singleLine="false" 
        android:text="Description or caption of the post" 
        android:textSize="17sp" /> 
      </LinearLayout> 

      <ImageView 
       android:id="@+id/feedPostedImagePostDetail" 
       android:layout_width="fill_parent" 
       android:layout_height="200dp" 
       android:layout_marginTop="5dp" 
       android:scaleType="fitCenter" 
       android:visibility="gone" /> 

      <LinearLayout 
       android:id="@+id/linearLayoutOptions" 
       android:layout_width="fill_parent" 
       android:layout_height="33dp" 
       android:layout_marginTop="2dp" 
       android:layout_weight="100" 
       android:background="@drawable/bar" 
       android:orientation="horizontal" > 

       <TextView 
        android:id="@+id/textViewShakePostDetail" 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_marginLeft="15dp" 
        android:layout_weight="25" 
        android:drawableLeft="@drawable/like" 
        android:gravity="center" 
        android:singleLine="true" 
        android:text="Shake" 
        android:textSize="12sp" /> 

       <TextView 
        android:id="@+id/textViewCommentPostDetail" 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_weight="41" 
        android:drawableLeft="@drawable/comment" 
        android:gravity="center" 
        android:paddingLeft="20dp" 
        android:text="Comment" /> 

       <TextView 
        android:id="@+id/textViewSharePostDetail" 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_weight="33" 
        android:drawableLeft="@drawable/share" 
        android:gravity="center" 
        android:paddingLeft="20dp" 
        android:text="Spread" /> 
      </LinearLayout> 
     </LinearLayout> 

     <ListView 
      android:id="@+id/listViewFeedsDetail1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/linearLayoutTopDetails" 
      android:layout_marginBottom="4dp" 
      android:layout_marginLeft="6dp" 
      android:layout_marginRight="6dp" 
      android:layout_marginTop="6dp" > 
     </ListView> 

     <LinearLayout 
      android:id="@+id/linearLayoutPostcomment" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/listViewFeedsDetail1" 
      android:background="#FFFFFF" 
      android:orientation="horizontal" 
      android:weightSum="100" > 

      <EditText 
       android:id="@+id/editTextComment" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="80" /> 

      <Button 
       android:id="@+id/buttonPostComment" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="20" 
       android:background="#F0F8FF" 
       android:text="Post" > 
      </Button> 
     </LinearLayout> 
    </RelativeLayout> 
</ScrollView> 

`

ho cercato di risolvere il problema con l'aggiunta di modifiche tramite codice, ma senza successo.

Di seguito è l'immagine prima e dopo aver fatto clic su Modifica testo. enter image description here

enter image description here

+1

scrollview non funziona. –

+1

Aggiungete le proprietà: android: windowSoftInputMode = "adjustPan | adjustResize" al tag Activity in AndroidManifest.xml –

+0

possibile duplicato di [Tastiera virtuale per Android copre il campo di edittext] (http://stackoverflow.com/questions/3295672/android-soft -keyboard-covers-edittext-field) – Lamorak

risposta

30

Nel vostro put manifesta questo nella vostra attività perticular:

android:windowSoftInputMode="adjustPan" 
+2

Ho provato questo, ma nessun successo. android: windowSoftInputMode = "adjustPan | adjustResize" Questo codice è ancora nel mio manifest.but sta ancora nascondendo editText. –

+0

grazie @Kishan. fascino lavorativo per me. –

14

Per questo è necessario dichiarato nella vostra attività manifeast

  <activity 
      android:name=".activityname" 
      android:label="@string/app_name" 
      android:windowSoftInputMode="adjustPan|adjustResize" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

Questo è il mio codice manifest di attività. Questo è ancora nascosto editText. –

+1

Il frammento non è un'attività. Dovrei farlo? Ho già inserito questo codice nell'attività in cui è posizionato il frammento. –

+4

@RobinRoyal potrebbe essere in ritardo, ma (essere utile per gli altri) utilizzare adjustPan o adjustResize, non entrambi contemporaneamente –

2

Utilizza il codice qui sotto in cui:

InputMethodManager ipmm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
       ipmm.hideSoftInputFromWindow(url.getWindowToken(), 0); 

dove url nel mio codice è:

url = (EditText) findViewById(R.id.eT_webbrowser); 

o Prova questo:

InputMethodManager ipmm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
        ipmm.hideSoftInputFromWindow(null, 0); 

Come ulteriore opzione provare questo: Questo nasconde sempre la modalità di ingresso morbido in modo che la vostra EditText è visibile

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
+0

@Robin Royal - Se funziona per te, ti preghiamo di accettarlo come risposta. –

+0

Non sta scorrendo il testo di modifica verso l'alto. –

+0

Non ti ho preso. Ma, hai provato anche con 'null' come opzione da verificare? –

1

Dichiarare windowSoftInputMode = "adjustResize" nel file manifest.xml

<activity 
     android:name=".example" 
     android:theme="@style/AppTheme.NoActionBar" 
     android:windowSoftInputMode="adjustResize" /> 

fornire vista di scorrimento per il file di layout xml

<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingBottom="16dp" 
     android:paddingLeft="16dp" 
     android:paddingRight="16dp" 
     android:paddingTop="16dp" 
     android:fitsSystemWindows="true"> 

<ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fillViewport="true" 
     android:isScrollContainer="false"> 

    // add edittext here... 

</ScrollView> 
</RelativeLayout> 
2

Ecco soluzione semplice per Problema di Android EditText di nascondersi dietro SoftKeypad. Utilizzare il codice nel file AndroidManifest.xml del modulo del progetto.

<activity 
     android:name="com.example.MainActivity" 
     android:label="@string/activity_main" 
     android:windowSoftInputMode="adjustResize|stateHidden" /> 

Questo codice ha funzionato per me.
All'interno del file manifesto nel tag dell'attività aggiungere questo attributo:

android:windowSoftInputMode="adjustResize|stateHidden" 

Non ci sono più valori tali per questo attributo (android:windowSoftInputMode), che verrà come lista raccomandazione. Puoi controllare anche con loro.

Problemi correlati