3

Mon xml est comme suitAndroid ImageView pour développer toute la largeur de l'écran

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#FFFFFF"> 

<TableLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TableRow android:layout_weight="1" android:gravity="center"> 
     <ImageView android:layout_height="200dp" 
      android:layout_width = "wrap_content" 
      android:src="@drawable/saltnpepper"     
      android:scaleType="centerInside" /> 
    </TableRow> 

    <TableRow android:layout_weight="3" > 
    <ListView android:id="@+id/list1" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
    > 

    </ListView> 
</TableRow> 
<TableRow android:layout_weight="1" android:gravity="center"> 
    <ImageView android:layout_height="100dp" 
      android:layout_width = "wrap_content" 
      android:src="@drawable/halal" 
      android:scaleType="centerInside"/> 
</TableRow> 
</TableLayout> 

Mon écran est actuellement comme ceci:

enter image description here

Je veux l'image Saltnpepper d'étendre à travers le largeur de l'écran, j'ai essayé de réglage ImageViewlayout_height à 0dp mais l'image disparaît alors. aussi j'ai essayé son layout_width comme match_parent, mais cela n'a pas fonctionné

, je veux aussi ajouter un peu de marge à la ListView mais les table_layout entiers se déplace si j'ajoute marginRight ou marginLeft à l'élément ListView.

+0

android: layout_width = "match_parent" est-ce que le travail? et pour la vue de la liste, essayez avec paddingLeft et paddingRight – X3Btel

+0

+0

Merci Adeel ça a marché! seulement maintenant l'image est étirée peut-être je devrais le mettre en arrière-plan – Samra

Répondre

0

donc j'ai essayé toutes les solutions, mais une chose a travaillé et l'autre chose obtenu tordu. J'ai essayé la solution fitXY d'Adeel Turk, qui a immédiatement fait correspondre mon image à l'écran mais l'image était trop extensible, alors maintenant j'ai mis mon image en arrière-plan et cela me donne un bon résultat.

Voici mon xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" 
> 

<TableLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent"  
android:background="@drawable/saltnpepper"> 
<TableRow android:layout_weight="1" android:gravity="center"> 
    <TextView android:layout_height="200dp"/> 
</TableRow> 

<TableRow android:layout_weight="4" > 
<ListView android:id="@+id/list1" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
> 

</ListView> 
</TableRow> 
<TableRow android:layout_weight="1" android:gravity="center"> 
<ImageView android:layout_height="100dp" 
     android:layout_width = "wrap_content" 
     android:src="@drawable/halal" 
     android:scaleType="centerInside"/> 
</TableRow> 
</TableLayout></LinearLayout> 

enter image description here

1

Sur votre ImageView, définissez la largeur de la mise en page sur match_parent. En outre, définissez la couleur d'arrière-plan de la ImageView à quelque chose afin que vous puissiez voir combien d'espace il prend réellement. De là, vous voulez utiliser scaleType pour façonner (recadrer/ajuster/etc) l'image à l'espace ImageView.

0

Définissez la largeur des vues de l'image sur match_parent et la hauteur sur wrap_content, afin de conserver le ratio d'aspect que vous pouvez utiliser adjustViewBounds défini sur TRUE.

0

Utilisez le code ci-dessous .... et essayer ...

android:layout_width = "match_parent" 
android:paddingLeft="10dp" 
android:paddingRight="10dp" 
android:paddingTop="10dp" 
android:adjustViewBounds="true" 

Code Finale:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFFFFF"> 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <TableRow android:layout_weight="1" android:gravity="center"> 
      <ImageView android:layout_height="200dp" 
       android:layout_width = "match_parent" 
       android:src="@drawable/saltnpepper" 
       android:paddingLeft="10dp" 
       android:paddingRight="10dp" 
        android:paddingTop="10dp" 
       android:adjustViewBounds="true" 
       android:scaleType="centerInside" /> 
     </TableRow> 

     <TableRow android:layout_weight="3" > 
     <ListView android:id="@+id/list1" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
     > 

     </ListView> 
    </TableRow> 
    <TableRow android:layout_weight="1" android:gravity="center"> 
     <ImageView android:layout_height="100dp" 
       android:layout_width = "wrap_content" 
       android:src="@drawable/halal" 
       android:scaleType="centerInside"/> 
    </TableRow> 
    </TableLayout> 
+0

nope image ne pas se développer – Samra