2017-01-11 6 views
0

Я новичок в разработке андроида, поэтому хочу, чтобы мои изображения на главном экране соответствовали всем устройствам. Я хочу, чтобы эта страница MainScreen соответствовала всем устройствам. Он имеет 3 изображения, которые я дал весу, но ничего не работает, если я тестирую его на вкладке. Ее не выглядели так, как я хочу, вот это образКак сделать мои xml-изображения подходящими для всех устройств?

enter image description here

вот мой XML .Я знаю, что я не должен давать дп по высоте, но как сделать это выглядеть не давая размеров.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    tools:context="com.example.zeba.broccoli.MainActivity" > 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     android:layout_marginTop="50dp" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentStart="true"> 

     <LinearLayout 
      android:id="@+id/linearLayout1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 

      android:weightSum="1"> 

      <ImageView 
       android:id="@+id/ms1" 
       android:layout_width="match_parent" 
       android:layout_height="374dp" 
       android:layout_weight="7" 
       android:scaleType="fitXY" 
       android:src="@drawable/avatar" /> 


     </LinearLayout> 

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


      <ImageView 
       android:id="@+id/ms2" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:scaleType="fitXY" 

       android:src="@drawable/ee" 

       android:layout_weight=".5" /> 

      <ImageView 
       android:id="@+id/ms3" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:scaleType="fitXY" 
       android:src="@drawable/dd" 
       android:layout_weight=".5" /> 
     </LinearLayout> 
    </LinearLayout> 


</RelativeLayout> 
+0

Фиксированные размеры Изображения могут меняться в зависимости от устройств. Используйте _wrap_content_ для измерений и расскажите своему дизайнеру о том, как создавать изображения в соответствии с различными разрешениями экрана. – Piyush

+0

Если вы не хотите указывать размеры, вам нужно разместить изображения разных размеров в отдельных папках с возможностью рисования, например drawable-xhdpi, drawable-xxhdpi и т. Д. –

+0

, если я изменю размер изображения в соответствии с такими устройствами, как hdpi, xxhdpi..like что .. это может быть подойдет? –

ответ

1

Используйте этот код:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 


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

      <LinearLayout 
       android:id="@+id/linearLayout1" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="0.7"> 

       <ImageView 
        android:id="@+id/ms1" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:scaleType="fitXY" 
        android:src="@mipmap/ic_launcher" /> 


      </LinearLayout> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="0.3"> 


       <ImageView 
        android:id="@+id/ms2" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_weight=".5" 
        android:scaleType="fitXY" 
        android:src="@mipmap/ic_launcher" /> 

       <ImageView 
        android:id="@+id/ms3" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_weight=".5" 
        android:scaleType="fitXY" 
        android:src="@mipmap/ic_launcher" /> 

      </LinearLayout> 
     </LinearLayout> 
    </RelativeLayout> 

Надеется, что это поможет вам

+0

ok let me попробуйте. –

+0

Я заменил ваш ресурс изображения на ic_launcher.so, соответственно, в соответствии с вашими потребностями. Благодарю. –

+0

thx buddy..it работает –

1

Смотрите следующее решение XML, чтобы получить то, что вам нужно.

Вы всегда можете изменить относительную ширину и высоту каждого элемента вида, сыграв параметр layout_weight. Его, как дают ширина/высота в процентах:

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

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@android:drawable/btn_default" 
    android:scaleType="fitXY" 
    android:layout_weight="70"/> 

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

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:src="@android:drawable/btn_default" 
     android:scaleType="fitXY" 
     android:layout_weight="1"/> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:src="@android:drawable/btn_default" 
     android:scaleType="fitXY" 
     android:layout_weight="1"/> 
</LinearLayout> 

+0

thx..but i уже gt ответ –