Android: margin/padding pour la liste sans avoir de la marge appliquée à l'en-tête?
Est-il possible d'avoir une marge/marge intérieure de la liste sans avoir la marge appliquée à l'en-tête? Je veux que mon ListView être comme les Google Maintenant de mise en page. J'ai tout fonctionne sauf ce petit problème.
Question: Est-il possible de ne pas avoir de paramètres de mise en page de la liste appliquer à son en-tête?
EDIT1:Plus d'infos
La pourpre de point de vue est l'en-tête de la liste.
J'ai essayé d'ajouter une marge à l'élément de la liste mise en page.Cela ne fonctionne pas non plus.
Tout ce que je besoin est un moyen d'appliquer une marge à la liste de sorte qu'il ne s'applique pas à la marge de l'en-tête dans la liste.
EDIT2:
Ma présentation
header.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:orientation="vertical" >
<View
android:layout_width="match_parent"
android:layout_height="@dimen/top_height"
android:background="@color/top_item" />
<View
android:id="@+id/placeholder"
android:layout_width="match_parent"
android:layout_height="@dimen/sticky_height"
android:layout_gravity="bottom" />
</FrameLayout>
root_list.xml
<LinearLayout>
<com.abhijith.CustomListView
android:id="@android:id/list"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_height="wrap_content" /></LinearLayout>
list_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/card_background"
android:orientation="vertical" >
<TextView
android:id="@+id/textview_note"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/textview_note_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"/></LinearLayout>
J'ai supprimé uselsess propriétés de mise en page ici en raison de la longueur de ce post.
Je pense que tu veux dire l'ajout de la marge pour le listItem mise en page.Cela n'a pas fonctionné.
Je veux dire l'ajout de rembourrage pour chaque élément de la liste élément de mise en page. et n'ajoutez pas de la même à en-Tête.
tu veux dire l'ajout d'un rembourrage en programmant pour chaque élément dans la liste dans la carte?
si vous ajouter un élément de mise en page de code que je peux vous proposer. Je suggère que vous pour changer la disposition des éléments non par programmation
OriginalL'auteur redshift13 | 2012-12-27
Vous devez vous connecter pour publier un commentaire.
Après beaucoup de creuser autour, j'ai trouvé que le son n'est pas possible de dissocier la liste mise en page params de ses en-têtes et de l'en-tête est la partie de la liste. Afin d'obtenir le desirred marge effet, Après beaucoup de recherche, j'ai trouvé que l'ajout de marge à la racine de la mise en page dans la liste afficher l'élément n'a pas fonctionné. J'ai donc ajouté un autre mannequin LinearLayout à l'intérieur de l'existant racine LinearLayout(imbriquée LinearLayout) et ajouté les enfants à l'intérieur de la imbriquée mise en page.Maintenant, le réglage de la marge à l'intérieur de la mise en page donne l'effet désiré.
Code:
android:layout_marginRight="16dp" android:layout_marginLeft="16dp"
mettreandroid:paddingLeft="16dp" android:android:paddingRight="16dp"
ou au moins utiliser un externe FrameLayout au lieu de LinearLayoutOriginalL'auteur redshift13
Dans votre en-tête de la partie, ajoutez la balise suivante:
cela permettra de résoudre votre problème.
la mise en page utilisez-vous sur votre racine?
il ne fonctionne que lorsque vous utilisez une Relative mise à l'extérieur de la listview.
Ce n'est pas la solution, désolé.La question est de ne pas avoir de paramètres de mise en page de la liste appliquer à son en-tête. Modifié la question avec plus d'informations
Appliquer de la marge dans votre list_item.xml plutôt que de root_list.xml. Il va travailler pour vous.
OriginalL'auteur Rohit
c'est le code de
LayoutInflater
,comme vous pouvez le voir ,si vous ajoutez unroot
,elle n'est pas nulle,a généré l'layoutParams
de la racine.et puis si le troisième paramètre est l' faux,il y a seulement de faire
temp.setLayoutParams(params)
quiparams
est généré par la racine!! et la temp est de retour....si
attachToRoot
est vrai,la racine va exécuter la racine.addView(temp, params),puis la racine est de retour..si vous venez de le faire
LayoutInflater.from(this).inflate(R.layout.popup_choose_type, null);
,et si vous avez défini un attribut commepaddingBottom
,il sera surpris que vous ne fonctionnera pas!!en raison de la perte LayoutParams!Comme pour comment le résoudre,vous pouvez voir
ici
OriginalL'auteur joe
vous pouvez le faire par donner de la marge dans listview du fichier de mise en page puis vous obtiendrez la sortie.
pouvez-vous svp m'expliquer la litière de plus que je vous aider?
question mise à jour avec plus d'informations
OriginalL'auteur Vatsal Shah