tamaño studio soporte sizes resolucion para pantallas pantalla multiples layouts imagen diseño diferentes aplicacion ajustar adaptar android android-widget

android - studio - Asignar el ancho a la mitad del ancho de pantalla disponible declarativamente



soporte para multiples pantallas android studio (5)

Uso del diseño de restricciones

  1. Añadir una directriz
  2. Establezca el porcentaje al 50%
  3. Restringe tu vista a la Guía y al padre.

Si tiene problemas para cambiarlo a un porcentaje, entonces vea esta respuesta .

XML

<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="81dp"> <android.support.constraint.Guideline android:id="@+id/guideline8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.5"/> <TextView android:id="@+id/textView6" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginBottom="8dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:text="TextView" app:layout_constraintBottom_toTopOf="@+id/guideline8" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"/> </android.support.constraint.ConstraintLayout>

¿Es posible asignar un ancho de widget a la mitad del ancho de pantalla disponible y hacerlo usando declarative xml?


Otra forma de artículo individual en el centro, que llena la mitad de la pantalla:

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <View android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" android:visibility="invisible" /> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" /> <View android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" android:visibility="invisible" /> </LinearLayout>


Si tu widget es un Botón:

<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:weightSum="2" android:orientation="horizontal"> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="somebutton"/> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"/> </LinearLayout>

Supongo que quieres que tu widget ocupe la mitad, y otro widget para ocupar la otra mitad. El truco está en utilizar LinearLayout, configurar layout_width="fill_parent" en ambos widgets y establecer layout_weight en el mismo valor en ambos widgets también. Si hay dos widgets, ambos con el mismo peso, LinearLayout dividirá el ancho entre los dos widgets.


proporcione el ancho como 0dp para asegurarse de que su tamaño sea exactamente igual al de su peso; esto garantizará que, incluso si el contenido de las vistas de los niños se agranda, se limitará exactamente a la mitad (según su peso)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:weightSum="1" > <Button android:layout_width="0dp" android:layout_height="wrap_content" android:text="click me" android:layout_weight="0.5"/> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:text="Hello World" android:layout_weight="0.5"/> </LinearLayout>


<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textD_Author" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="Author : " android:textColor="#0404B4" android:textSize="20sp" /> <TextView android:id="@+id/textD_Tag" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="Edition : " android:textColor="#0404B4" android:textSize="20sp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:weightSum="1" > <Button android:id="@+id/btbEdit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.5" android:text="Edit" /> <Button android:id="@+id/btnDelete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.5" android:text="Delete" /> </LinearLayout> </LinearLayout>