2016-07-23 41 views
-2

我很喜歡相對佈局,所以在開發應用程序時,使用相對佈局,我發現應用程序不適合所有屏幕尺寸的問題。我爲我的應用開發了整個佈局。現在可以üPLZ告訴我一個解決方案,以便我不必在佈局中改變太多,我的應用將適用於所有屏幕。一個xml如下所示。如何製作適合所有屏幕尺寸的相對佈局?

<?xml version="1.0" encoding="utf-8"?> 
<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="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
tools:context="com.example.medilearn.medilearn.Initiater" 
tools:showIn="@layout/activity_initiater" 
android:background="#e0e0e0"> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="50dp" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center|right" 
    android:text="Mediacl e-learning content distribution system " 
    android:id="@+id/textView2" 
    android:layout_alignParentTop="true" 
    android:background="#484848" 
    android:textColor="#ffffff" 
    android:layout_marginLeft="200dp" /> 

<TextView 
    android:layout_width="300dp" 
    android:layout_height="50dp" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Welcome" 
    android:id="@+id/textView3" 
    android:layout_below="@+id/textView2" 
    android:layout_alignEnd="@+id/textView2" 
    android:textIsSelectable="false" 
    android:textStyle="bold" 
    android:layout_marginTop="50dp" /> 

<TextView 
    android:layout_width="300dp" 
    android:layout_height="50dp" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Username" 
    android:id="@+id/textView13" 
    android:layout_below="@+id/textView3" 
    android:layout_alignStart="@+id/textView3" 
    android:layout_marginTop="50dp" /> 

<EditText 
    android:layout_width="300dp" 
    android:layout_height="50dp" 
    android:id="@+id/editText" 
    android:layout_below="@+id/textView13" 
    android:layout_alignStart="@+id/textView13" 
    android:layout_marginTop="25dp" /> 

<TextView 
    android:layout_width="300dp" 
    android:layout_height="50dp" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="User Code" 
    android:id="@+id/textView14" 
    android:layout_below="@+id/editText" 
    android:layout_alignStart="@+id/editText" /> 

<EditText 
    android:layout_width="300dp" 
    android:layout_height="50dp" 
    android:inputType="textPassword" 
    android:ems="10" 
    android:id="@+id/editText2" 
    android:layout_below="@+id/textView14" 
    android:layout_alignStart="@+id/textView14" 
    android:layout_marginTop="25dp" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="50dp" 
    android:text="Start" 
    android:id="@+id/SigninButton" 
    android:layout_below="@+id/editText2" 
    android:layout_alignStart="@+id/editText2" 
    android:layout_marginTop="50dp" 
    android:layout_marginLeft="80dp" 
    android:background="#006090" 
    android:textColor="#ffffff" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="50dp" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center" 
    android:text="Version : 1.0" 
    android:id="@+id/textView15" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentStart="true" 
    android:background="#484848" 
    android:textColor="#ffffff" 
    android:textIsSelectable="false" 
    android:textAlignment="textStart" 
    android:layout_alignRight="@+id/imageView" 
    android:layout_alignEnd="@+id/imageView" /> 

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Current Image Feeds will be shown here" 
    android:id="@+id/textView16" 
    android:layout_below="@+id/textView2" 
    android:layout_alignParentStart="true" 
    android:layout_marginRight="300dp" 
    android:layout_marginBottom="50dp" 
    android:textColor="#161515" /> 

<Button 
    android:layout_width="200dp" 
    android:layout_height="35dp" 
    android:text="Reload Content" 
    android:id="@+id/button7" 
    android:layout_alignParentBottom="true" 
    android:layout_alignStart="@+id/editText2" 
    android:layout_marginLeft="50dp" 
    android:background="#006090" 
    android:textColor="#ffffff" 
    android:layout_marginBottom="7.5dp" /> 

<ImageView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/imageView" 
    android:layout_gravity="center_horizontal|top" 
    android:src="@drawable/medilearn" 

    android:scaleType="fitCenter" 
    android:layout_alignBottom="@+id/textView2" 
    android:layout_alignParentStart="true" 
    android:layout_marginRight="950dp" 
    android:background="#484848" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="50dp" 
    android:text="    Media file version:02JUL2016" 
    android:id="@+id/textView" 
    android:layout_alignParentBottom="true" 
    android:layout_toRightOf="@+id/textView15" 
    android:layout_toEndOf="@+id/textView15" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="#ffffff" 
    android:background="#484848" 
    android:gravity="center" /> 

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="50dp" 
    android:id="@+id/textView5" 
    android:layout_alignParentBottom="true" 
    android:layout_toRightOf="@+id/textView" 
    android:layout_toEndOf="@+id/textView" 
    android:background="#484848" /> 

</RelativeLayout> 

hight,按鈕和textview的寬度必須相同。

+0

您可能要切換到[PercentRelativeLayout(https://developer.android.com/reference/android/support/percent/PercentRelativeLayout.html),而不是 –

+0

感謝ü這麼多的回覆。如果我將佈局切換到PercentageRelativeLayout,我的應用程序是否適合所有屏幕? –

+0

既然你可以使用百分比......答案是肯定的。 –

回答

2

以下是所有與所有佈局匹配的代碼,其代碼只是您的代碼示例,請根據您的要求進行調整。

以下是您的xml文件。請複製並貼上您的佈局並查看結果。

<?xml version="1.0" encoding="utf-8"?> 

<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:background="#e0e0e0" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="fill_parent" 
    android:layout_height="50dp" 
    android:background="#484848" 
    android:gravity="center" 
    android:text="Mediacl e-learning content distribution system " 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="#ffffff" /> 

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView2"> 

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


     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dp" 
      android:text="Welcome" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textIsSelectable="false" 
      android:textStyle="bold" /> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:orientation="horizontal"> 

      <TextView 
       android:id="@+id/textView13" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/textView3" 
       android:layout_marginTop="10dp" 
       android:layout_weight="0.5" 
       android:text="Username" 
       android:textAppearance="?android:attr/textAppearanceLarge" /> 

      <EditText 
       android:id="@+id/editText" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/textView13" 
       android:layout_marginTop="10dp" 
       android:layout_weight="0.5" 
       android:hint="Your edit text" /> 

     </LinearLayout> 


     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:orientation="horizontal"> 

      <TextView 
       android:id="@+id/textView14" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.5" 
       android:text="User Code" 
       android:textAppearance="?android:attr/textAppearanceLarge" /> 

      <EditText 
       android:id="@+id/editText2" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.5" 
       android:ems="10" 
       android:hint="Your edit text" 
       android:inputType="textPassword" /> 

     </LinearLayout> 

     <TextView 
      android:id="@+id/textView15" 
      android:layout_width="wrap_content" 
      android:layout_height="50dp" 
      android:layout_alignEnd="@+id/imageView" 
      android:layout_alignRight="@+id/imageView" 
      android:background="#484848" 
      android:gravity="center" 
      android:text="Version : 1.0" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textColor="#ffffff" 
      android:textIsSelectable="false" /> 

     <TextView 
      android:id="@+id/textView16" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Current Image Feeds will be shown here" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textColor="#161515" /> 

     <Button 
      android:id="@+id/SigninButton" 
      android:layout_width="wrap_content" 
      android:layout_height="50dp" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      android:background="#006090" 
      android:text="Start" 
      android:textColor="#ffffff" /> 

     <Button 
      android:id="@+id/button7" 
      android:layout_width="200dp" 
      android:layout_height="35dp" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      android:background="#006090" 
      android:text="Reload Content" 
      android:textColor="#ffffff" /> 

     <ImageView 
      android:id="@+id/imageView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal|top" 
      android:layout_marginTop="10dp" 
      android:background="#484848" 
      android:scaleType="fitCenter" 
      android:src="@drawable/ic_launcher" /> 

     <TextView 
      android:id="@+id/textView" 
      android:layout_width="wrap_content" 
      android:layout_height="50dp" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      android:background="#484848" 
      android:gravity="center" 
      android:text="Media file version:02JUL2016" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textColor="#ffffff" /> 

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

非常感謝你。是的,它正在工作。再次感謝。 –

+0

如果它工作,請點擊箭頭接受答案:)。 – TopsAndy

0

刪除一些默認屬性可能有用,試試看,我會告訴你樓下。

android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 

爲什麼會發生這種情況。參考代碼會告訴你答案。

<resources> 

    <!-- Default screen margins, per the Android Design guidelines. --> 
    <dimen name="activity_horizontal_margin">16dp</dimen> 
    <dimen name="activity_vertical_margin">16dp</dimen> 

</resources> 
相關問題