Je veux mettre 4 images sur l'écran en se divisant en quadrants et mettre du texte sur chaque image.

Je sais comment utiliser la somme de poids à l'horizontale ou à la verticale, PAS LES DEUX.

Poids Somme

<LinearLayout 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.tiagosilva.amob_android.ProductsFragment"
android:background="@color/AMOB_gray"
android:weightSum="2"
android:orientation="vertical"
android:padding="15dp">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:id="@+id/img_tube_bending"
    android:src="@drawable/fully_electric"
    android:layout_marginRight="5dp"/>

<ImageView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:id="@+id/img_section_bending_rolls"
    android:src="@drawable/section_bending_rolls"
    android:layout_marginLeft="5dp"/>
0
adiajdiadj 20 avril 2017 à 12:04

3 réponses

Meilleure réponse

Au lieu d'utiliser LinearLayout, il est beaucoup plus facile d'accomplir ce que vous voulez en utilisant un GridLayout. Voici un exemple simple sur la façon de placer 4 images de manière quadrants:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/GridLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="2"
android:rowCount="2"
android:orientation="horizontal"
tools:context=".GridXMLActivity">
<ImageView
    android:id="@+id/image1"
    android:layout_width="0dp"
    android:src="@drawable/Sun3"
    android:layout_columnWeight="1"
    android:adjustViewBounds="true"
    />

<ImageView
    android:id="@+id/image2"
    android:layout_width="0dp"
    android:src="@drawable/Sun3"
    android:layout_columnWeight="1"
    android:adjustViewBounds="true"
    />

<ImageView
    android:id="@+id/image3"
    android:layout_width="0dp"
    android:src="@drawable/Sun3"
    android:layout_columnWeight="1"
    android:adjustViewBounds="true"/>

<ImageView
    android:id="@+id/image4"
    android:layout_width="0dp"
    android:src="@drawable/Sun3"
    android:layout_columnWeight="1"
    android:adjustViewBounds="true"/>
</GridLayout>

J'espère que cela aide.

0
Ahmad 20 avril 2017 à 09:38
WeightSum work with ParentLayout like..
<LinearLayout
height="match_parent"
width="match_parent"
orientation="vertical">
//if orientation is Landescape weight of child will work horizontally like
<ImageView`enter code here`
width="match_parent"
height="0dp"
layout_weight=".25"  //this layout will tahe 25% of the parent layout in height
</LinearLayout>
0
Satyam Anand 20 avril 2017 à 09:08

J'ai créé une mise en page XML similaire à ce que vous attendez. Avec TextView tous les ImageView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:orientation="vertical"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content">
        <TextView
            android:text="Text 1"
            android:gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <ImageView
            android:layout_gravity="center"
            android:src="@drawable/ic_launcher"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
    <LinearLayout
        android:orientation="vertical"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content">
        <TextView
            android:text="Text 2"
            android:gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <ImageView
            android:layout_gravity="center"
            android:src="@drawable/ic_launcher"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
</LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:orientation="vertical"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content">
            <TextView
                android:text="Text 3"
                android:gravity="center"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
            <ImageView
                android:layout_gravity="center"
                android:src="@drawable/ic_launcher"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>
        <LinearLayout
            android:orientation="vertical"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content">
            <TextView
                android:text="Text 4"
                android:gravity="center"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
            <ImageView
                android:layout_gravity="center"
                android:src="@drawable/ic_launcher"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
0
Naz141 20 avril 2017 à 09:29