Comment ajouter par programme 2 textview dans un linéaire de la mise en page
Salut tout le monde,
Je suis l'obtention des champs "Nom" et "Skoda" de l'API. Il y aura x nombre d'éléments de ce genre. Comme pour la conception, je dois leur montrer que, comme dans l'image suivante.
J'ai donc décidé de créer deux textview par programmation dans un linéaire de la mise en page nommée "childLayout" comme suit.
-- RelativeLayout
-- Linear Layout
-- TextView Textview --
-- Linear Layout
-- Linear Layout
-- TextView Textview --
-- Linear Layout
-- Linear Layout
-- TextView Textview --
-- Linear Layout
--RelativeLayout
Mais je n'obtiens pas le résultat souhaité. Merci de m'aider à résoudre ce problème.
Voici le code :
TextView mType;
TextView mValue;
for (int i = 0; i < getDetailedDescAL.size(); i++) {
LinearLayout childLayout = new LinearLayout(
DetailedCategories.this);
LinearLayout.LayoutParams linearParams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
childLayout.setLayoutParams(linearParams);
mType = new TextView(DetailedCategories.this);
mValue = new TextView(DetailedCategories.this);
mType.setLayoutParams(new TableLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, 1f));
mValue.setLayoutParams(new TableLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, 1f));
mType.setTextSize(17);
mType.setPadding(5, 3, 0, 3);
mType.setTypeface(Typeface.DEFAULT_BOLD);
mType.setGravity(Gravity.LEFT | Gravity.CENTER);
mValue.setTextSize(16);
mValue.setPadding(5, 3, 0, 3);
mValue.setTypeface(null, Typeface.ITALIC);
mValue.setGravity(Gravity.LEFT | Gravity.CENTER);
mType.setText(getDetailedDescAL.get(i).getmPropertyType());
mValue.setText(getDetailedDescAL.get(i).getmPropertyValue());
childLayout.addView(mValue, 0);
childLayout.addView(mType, 0);
RelativeLayout.LayoutParams relativeParams =
new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
relativeParams.addRule(RelativeLayout.BELOW);
Details.addView(childLayout, relativeParams);
//Details is the relative layout declared in XML
}
La sortie est :
Il semble que la textviews sont prépondérantes. Comment résoudre ce problème.
Essayez d'ajouter votre point de vue dans un LinearLayout avec orientation verticale à la place d'un RelativeLayout.
OriginalL'auteur Rethinavel Pillai | 2013-05-27
Vous devez vous connecter pour publier un commentaire.
Remplacer le
RelativeLayout
pour unLinearLayout
et ajoutez tous lesTextView's
.N'oubliez pas de
android:orientation="vertical"
dans leLinearLayout
OriginalL'auteur Jaytjuh
OriginalL'auteur user2918326
Changement par rapport à votre Disposition Linéaire de Mise en page et il est résolu
OriginalL'auteur Manuel Pires
JFI, pourquoi ne pas simplement utiliser ListView. Dans post, vous avez mentionné que le nombre d'éléments est inconnu. Donc, il peut y avoir des cas, vous devrez nombre d'éléments de plus que ce que vous pouvez avoir sur l'espace sur l'écran. Contrôle Listview poignée de défilement pour vous.
P. S.: Ici, au lieu de la parenté ou de LinearLayout, utilisez le scrollView
OriginalL'auteur Anirudh