Estoy empezando con Android. Tengo problemas para lograr un diseño simple.
Me gustaría usar a LinearLayout
para colocar dos TextViews
en una sola fila. Uno TextView
en el lado izquierdo, el otro en el lado derecho (análogo a float: left, float: right en CSS).
¿Es eso posible, o necesito usar un ViewGroup
diseño diferente o más anidado para lograrlo?
Esto es lo que tengo hasta ahora:
<?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>
Puede usar la propiedad de gravedad para "flotar" vistas.
fuente
Se puede hacer con
LinearLayout
(menos gastos generales y más control que la opción Diseño relativo). Dele a la segunda vista el espacio restante para quegravity
pueda funcionar. Probado de nuevo a API 16.Si desea limitar el tamaño de la primera vista de texto, haga lo siguiente:
Ajuste los pesos según sea necesario. El diseño relativo no le permitirá establecer un peso porcentual como este, solo un dp fijo de una de las vistas
fuente
Incluso con el consejo de Rollin, la respuesta de Dave Webb no funcionó para mí. El texto de la derecha
TextView
todavía se superponía con el texto de la izquierdaTextView
.Finalmente obtuve el comportamiento que quería con algo como esto:
Tenga en cuenta que mytextview2 se ha
"android:layout_width"
configurado como"match_parent"
.¡Espero que esto ayude a alguien!
fuente
fuente
En caso de que desee que los elementos izquierdo y derecho envuelvan contenido pero tengan el espacio intermedio
fuente
Hay muchas otras formas de lograr esto, haría algo como esto.
fuente
La respuesta de Dave Webb funcionó para mí. ¡Gracias! Aquí mi código, ¡espero que esto ayude a alguien!
Imagen: Imagen
fuente
Este Código dividirá el control en dos lados iguales.
fuente