2016-08-13 14 views
-1

キーボードを開いてこのエディットボックスにデータを入力すると、全体のレイアウトは縮小しています。私ものmanifest.xmlで android:windowSoftInputMode="adjustResize"Weight属性を使用してLinearLayoutでScrollviewを実装する方法

を試みたが、キーボードは、この問題を解決する方法を私を助けてくださいWhen Keyboard is not visible

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fillViewport="true"> 

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

<EditText 
android:layout_width="match_parent" 
android:layout_height="0dp" 
android:layout_weight="2" 
android:padding="10dp" 
android:hint="UserName" 
/> 

<EditText 
android:layout_width="match_parent" 
android:layout_height="0dp" 
android:layout_weight="2" 
android:padding="10dp" 
android:hint="Address" 
/> 

<EditText 
android:layout_width="match_parent" 
android:layout_height="0dp" 
android:layout_weight="2" 
android:padding="10dp" 
android:hint="Phone" 
/> 

<EditText 
android:layout_width="match_parent" 
android:layout_height="0dp" 
android:layout_weight="2" 
android:padding="10dp" 
android:hint="Email" 
/> 
<EditText 
android:layout_width="match_parent" 
android:layout_height="0dp" 
android:layout_weight="2" 
android:padding="10dp" 
android:hint="Gender" 
/> 
</LinearLayout> 
</ScrollView> 

表示されている時はいつでも、まだこのレイアウトが縮小します。このレイアウトをスクロール可能にする方法はありますか?

+0

画面をご提示ください。 –

答えて

0

layout_weightLinearLayoutScrollViewを使用すると、ビューのスケーリングの問題が発生します。各尺度を均等に画面に表示したい場合は、ScrollViewは必要ありません。以下の更新レイアウトを確認してください:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:weightSum="10"> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="2" 
     android:hint="UserName" 
     android:padding="10dp" 
     /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="2" 
     android:hint="Address" 
     android:padding="10dp" 
     /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="2" 
     android:hint="Phone" 
     android:padding="10dp" 
     /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="2" 
     android:hint="Email" 
     android:padding="10dp" 
     /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="2" 
     android:hint="Gender" 
     android:padding="10dp" 
     /> 
</LinearLayout> 
0

はそのような利用可能な属性ありませんすべてのEditTextsためのandroid:layout_padding="10dp"プロパティを削除します。

XMLコードはこのようにする必要があります。

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 

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

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="2" 
      android:hint="UserName" 
      android:padding="10dp" /> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="2" 
      android:hint="Address" 
      android:padding="10dp" /> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="2" 
      android:hint="Phone" 
      android:padding="10dp" /> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="2" 
      android:hint="Email" 
      android:padding="10dp" /> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="2" 
      android:hint="Gender" 
      android:padding="10dp" /> 
    </LinearLayout> 
</ScrollView> 
And add Programmatically AdjustPan to your Activity's onCreate method

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 
関連する問題