0

У меня есть три значка RelativeLayout, как их распределить по ширине экрана?Как сделать изображение распределенным по ширине экрана в RelativeLayout?

Поскольку я могу добавить к этой строке еще больше значков, я не могу жестко скопировать фиксированный запас на этот значок.

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
    <ImageView 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:id="@+id/icon1" 
     android:src="@mipmap/icon" /> 
    <ImageView 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:id="@+id/icon2" 
     android:layout_toRightOf="@id/icon1" 
     android:layout_alignBottom="@id/icon1" 
     android:src="@mipmap/icon" /> 
    <ImageView 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:id="@+id/icon3" 
     android:layout_toRightOf="@id/icon2" 
     android:layout_alignBottom="@id/icon2" 
     android:src="@mipmap/icon" /> 
</RelativeLayout> 
+0

Что вы имеете в виду 'распределены'? Вы хотите, чтобы ImageViews был такой же шириной, как и экран? –

+0

Вы пробовали использовать TableRow – Srijith

+0

Является ли мой ответ нужным. –

ответ

2

Пожалуйста, используйте LinearLayout и использовать этот код, который будет работать в любом разрешении устройства.

<?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:gravity="center_horizontal" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:weightSum="3" > 

     <ImageView 
      android:id="@+id/icon1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 

     <ImageView 
      android:id="@+id/icon2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@id/icon1" 
      android:layout_toRightOf="@id/icon1" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 

     <ImageView 
      android:id="@+id/icon3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@id/icon2" 
      android:layout_toRightOf="@id/icon2" 
      android:layout_weight="1" 
      android:src="@drawable/ic_launcher" /> 
    </LinearLayout> 

</LinearLayout> 
0

Ваш код с небольшой модификацией атрибутов.

Попробуйте это:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:id="@+id/icon1" 
     android:src="@mipmap/icon" /> 
    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:id="@+id/icon2" 
     android:layout_below="@id/icon1" 
     android:layout_alignParentBottom="@id/icon1" 
     android:src="@mipmap/icon" /> 
    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:id="@+id/icon3" 
     android:layout_below="@id/icon2" 
     android:layout_alignParentBottom="@id/icon2" 
     android:src="@mipmap/icon" /> 
</RelativeLayout>