2016-05-17 51 views
-1

你好,这是我的登录表单与背景似乎是这个形象。如何设计适用于所有智能手机和平板电脑分辨率的应用程序?

enter image description here

我想显示自己的内容(所有的EditText,按钮),只能在蓝色区域。 genymotion一切正常,但当我在智能手机上测试我的应用时,结果让我感到惊讶。按钮和textview在红色区域。我怎样才能更正我的代码来获取接口的所有智能手机和平板电脑的分辨率提前

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:fitsSystemWindows="true" 
    android:background="@drawable/login_full2"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="200dp" 
     android:layout_marginLeft="60dp" 
     android:layout_marginRight="60dp"> 
     <!-- Login Label --> 

      <EditText android:id="@+id/et_login" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="text" 
       android:drawableStart="@drawable/ic_account_circle_black_24dp" 
       android:drawableLeft="@drawable/ic_account_circle_black_24dp" 
       android:hint="@string/Login" /> 

     <!-- Password Label --> 
      <EditText android:id="@+id/et_password" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="textPassword" 
       android:drawableStart="@drawable/ic_lock_black_24dp" 
       android:drawableLeft="@drawable/ic_lock_black_24dp" 
       android:hint="@string/Password"/> 


     <Button 
      android:id="@+id/btn_valider" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="20dp" 
      android:layout_marginBottom="20dp" 
      android:background="@drawable/colorbutton" 
      android:padding="12dp" 
      android:text="@string/Connexion"/> 

     <TextView android:id="@+id/link_signup" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="12dp" 
      android:text="Vous n'avez pas encore de compte ? Créez-en un !" 
      android:textSize="12sp"/> 
     <TextView android:id="@+id/pass_oub" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="J'ai oublié mon mot de passe" 
      android:textSize="12sp"/> 

    </LinearLayout> 
</ScrollView> 

感谢

+2

你阅读文件? https://developer.android.com/training/multiscreen/index.html – tyczj

+0

是的我对此有一个想法,但我不知道该怎么做才能在蓝色区域中设置我的编辑文本和按钮 – clara

+0

那么,你有什么试过吗? –

回答

0
<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:fitsSystemWindows="true" 
android:background="@drawable/login_full2"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:padding="10dp" 
    android:orientation="vertical"> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="40dp" 
     android:layout_marginStart="40dp" 
     android:layout_marginRight="40dp" 
     android:layout_marginEnd="40dp"> 
     <!-- Login Label --> 

     <EditText android:id="@+id/et_login" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="text" 
      android:drawableStart="@drawable/ic_account_circle_black_24dp" 
      android:drawableLeft="@drawable/ic_account_circle_black_24dp" 
      android:hint="@string/Login" /> 

     <!-- Password Label --> 
     <EditText android:id="@+id/et_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textPassword" 
      android:drawableStart="@drawable/ic_lock_black_24dp" 
      android:drawableLeft="@drawable/ic_lock_black_24dp" 
      android:hint="@string/Password"/> 


     <Button 
      android:id="@+id/btn_valider" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="20dp" 
      android:layout_marginBottom="20dp" 
      android:padding="12dp" 
      android:text="@string/Connexion"/> 

     <TextView android:id="@+id/link_signup" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:padding="5dp" 
      android:layout_marginBottom="12dp" 
      android:text="Vous n'avez pas encore de compte ? Créez-en un !" 
      android:textSize="12sp"/> 
     <TextView android:id="@+id/pass_oub" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:padding="5dp" 
      android:text="J'ai oublié mon mot de passe" 
      android:textSize="12sp"/> 

    </LinearLayout> 
</LinearLayout> 
</ScrollView> 
+0

上述xml将适用于手机和Tab视图,但内容的大小将不会相同,这对移动设备并越来越小屏幕变得更大。您必须分别为layout-sw680dp上的Tab创建布局,并进行对齐。 – Franklyn

+0

与此代码,当我点击edittext,键盘出现,但整个内容(editext,tetview和按钮)在红色区域向上移动 – clara

+0

这意味着当布局在滚动视图上时发生。 Android SoftInput键盘倾向于将当前焦点的其他视图移动到用户可见的位置。尝试将此属性(android:windowSoftInputMode =“adjustPan”)添加到正在应用的清单活动中。这个属性有几个选项适合你。 – Franklyn

相关问题