Je commence avec Android. J'ai du mal à créer une mise en page simple.
Je voudrais utiliser un LinearLayout
pour positionner deux TextViews
dans une seule rangée. Un TextView
sur le côté gauche, l'autre sur le côté droit (analogue à float: left, float: right en CSS).
Est-ce possible ou dois-je utiliser une ViewGroup
imbrication de disposition différente ou supplémentaire pour y parvenir?
Voici ce que j'ai jusqu'à présent:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="horizontal" android:padding="10sp">
<TextView android:id="@+id/mytextview1" android:layout_height="wrap_content" android:text="somestringontheleftSomestring" android:layout_width="wrap_content"/>
<TextView android:id="@+id/mytextview2" android:layout_height="wrap_content" android:ellipsize="end"
android:text="somestringontheright" android:layout_width="wrap_content"/>
</LinearLayout>
Vous pouvez utiliser la propriété gravity pour "flotter" les vues.
la source
Cela peut être fait avec
LinearLayout
(moins de frais généraux et plus de contrôle que l'option Disposition relative). Donnez à la deuxième vue l'espace restant pour qu'ellegravity
puisse fonctionner. Testé à nouveau à l'API 16.Si vous souhaitez limiter la taille de la première vue de texte, procédez comme suit:
Ajustez les poids au besoin. La disposition relative ne vous permettra pas de définir un pourcentage de pondération comme celui-ci, seulement un dp fixe de l'une des vues
la source
Même avec le conseil de Rollin_s, la réponse de Dave Webb n'a pas fonctionné pour moi. Le texte de droite
TextView
chevauchait toujours le texte de gaucheTextView
.J'ai finalement obtenu le comportement que je voulais avec quelque chose comme ça:
Notez que mytextview2 est
"android:layout_width"
défini comme"match_parent"
.J'espère que cela aide quelqu'un!
la source
la source
Dans le cas où vous souhaitez que les éléments gauche et droit enveloppent le contenu mais ont l'espace du milieu
la source
Il existe de nombreuses autres façons d'accomplir cela, je ferais quelque chose comme ça.
la source
La réponse de Dave Webb a fonctionné pour moi. Merci! Voici mon code, j'espère que cela aide quelqu'un!
Image: Image
la source
Ce code divisera le contrôle en deux côtés égaux.
la source