Je crée une Android qui contient un RelativeLayout principal et un LinearLayout.
Maintenant, j'ai ce problème. Lorsque vous faites glisser des éléments vers l'éditeur, par exemple un LinearLayout, il ne s'adapte pas à toute la largeur de l'écran. Comment puis-je rendre cela possible? Voici mon XML:
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:fillViewport="true"
Android:gravity="fill"
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<LinearLayout
Android:id="@+id/itemDetailLayout"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_alignParentRight="true"
Android:layout_alignParentTop="true"
Android:orientation="vertical"
Android:fillViewport="true" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal" >
<ImageView
Android:id="@+id/itemImage"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:minHeight="40dp"
Android:minWidth="40dp"
Android:src="@drawable/ic_launcher" />
<TextView
Android:id="@+id/itemName"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginLeft="20dp"
Android:text="Name"
Android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:fillViewport="true" >
<TextView
Android:id="@+id/itemRecentHigh"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Recent High" />
<TextView
Android:id="@+id/itemRecentLow"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Recent Low" />
<TextView
Android:id="@+id/itemAverage"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Average" />
</LinearLayout>
</LinearLayout>
<LinearLayout
Android:id="@+id/listViewLayout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_below="@+id/itemDetailLayout"
Android:layout_marginTop="10dp"
Android:fillViewport="true"
Android:gravity="fill_horizontal"
Android:orientation="vertical" >
<ListView
Android:id="@+id/searchListView"
Android:layout_width="match_parent"
Android:layout_height="fill_parent"
Android:fillViewport="true" >
</ListView>
</LinearLayout>
Ajout d'une capture d'écran pour plus d'informations. Ajout d'un fond bleu pour avoir un peu de contraste.
Remplacez ceci:
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Avec
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
dans votre LinearLayout
ou supprimez tout le rembourrage du principal RelativeLayout
La suppression du rembourrage permet à la disposition linéaire de s'adapter à tout l'écran de l'appareil
L'espace entre la partie bleue et la "fin de l'écran". Sur les côtés et au-dessus de la partie où se trouvent le bouton de retour et le bouton d'accueil.
Supprimez le rembourrage de la racine RelativeLayout
.
Essayer
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical>
// Other views within the linear layout
</LinearLayout>
Je suppose que vous utilisez Eclipse. Personnellement, je déteste l'éditeur graphique d'Eclipse et j'écris généralement le code XML directement car travailler avec l'éditeur est une vraie douleur
N'utilisez pas fill_parent car il est obsolète. Au lieu de cela à votre ensemble RelativeLayout
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Ensuite, pour afficher la liste que vous souhaitez remplir le reste de l'écran, vous pouvez définir ces balises
Android:layout_width="fill_parent"
Android:layout_height="0dp"
Android:layout_weight="1"
Ce faisant, vous dites au XML que vous voulez que votre ListView fasse ce que fill_parent faisait dans les versions précédentes d'Android.
Sincères amitiés!
vous devriez essayer quelque chose comme ceci:
<LinearLayout
Android:id="@+id/itemDetailLayout"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical"
>
...
</LinearLayout>
ce que je veux dire, vous devez le faire:
Android:layout_width="fill_parent"
pour chaque LinearLayout dont vous voulez que sa largeur soit fill_parent.
FILL_PARENT signifie que la vue veut être aussi grande que son parent comme mentionné dans la documentation .
et donnez-moi s'il vous plaît quelques commentaires
J'espère que cela pourra aider .