¿Hay soporte de Android% o hay alguna forma de aproximarlo? Tengo dos tamaños de pantalla muy diferentes y yo, pero porcentualmente, quiero que EditBox en la actividad tenga el mismo margen para ambos tamaños de pantalla como una proporción del tamaño de la pantalla. ¿Cómo puede hacerse esto?Android ¿Cómo configuro un porcentaje de relleno/margen para que EditText tenga un 10% de margen en cada lado?
Respuesta
Realmente no soporta la configuración de los valores por ciento (a excepción de algunos de los archivos XML de animación parecen) Si usted está empeñado en el uso de un porcentaje de la mejor manera que se me ocurre es de getWidth llamada Java y luego getHeight multiplíquelos por su decimal y establezca el resultado con setMargin(), o setPadding().
Esto es posible en XML envolviendo su EditarTexto en el interior de un LinearLayout:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="10"
android:gravity="center"
>
<EditText
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_weight="8"
/>
</LinearLayout>
Editar: Los diseños de esta respuesta ahora están en desuso. Use la solución que Eugene Brusov propuso. Además, gracias chancyWu por el comentario.
Ahora hay una manera mejor que salió con el apoyo de la biblioteca versión 23.0.0 (sobre el tiempo, ¿verdad?). Ahora puede usar PercentFrameLayout o PercentRelativeLayout.
Si quería la EditarTexto a ser del 80% del ancho de la pantalla con un margen de 10% a cada lado, el código se vería así:
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:layout_height="wrap_content"
app:layout_widthPercent="80%"
app:layout_marginStartPercent="10%"
app:layout_marginEndPercent="10%"/>
</android.support.percent.PercentRelativeLayout>
También puede echar un vistazo a PercentLayoutHelper.PercentLayoutParams
Desaprobado desde el nivel de API 26.1.0 – chancyWu
Es posible con Guideline introducido en ConstraintLayout.
Por ejemplo, usted puede colocar su parte superior EditarTexto a 25% de la altura de la pantalla y la izquierda y la derecha en el 20% del ancho de la pantalla:
Aquí está la fuente de diseño:
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintLeft_toLeftOf="@+id/left_guideline"
app:layout_constraintRight_toLeftOf="@+id/right_guideline"
app:layout_constraintTop_toTopOf="@+id/top_guideline" />
<android.support.constraint.Guideline
android:id="@+id/top_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.25" />
<android.support.constraint.Guideline
android:id="@+id/left_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.2" />
<android.support.constraint.Guideline
android:id="@+id/right_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.8" />
</android.support.constraint.ConstraintLayout>
- 1. ¿Cómo configuro múltiples tipos de entrada en EditText en Android?
- 2. ¿Cómo configuro el margen de un objeto en IE?
- 3. ¿Utiliza un margen de porcentaje en CSS pero quiere un margen mínimo en píxeles?
- 4. Margen/relleno en porcentaje en XML
- 5. Establecer imagen en el lado izquierdo de EditText en Android
- 6. ¿Cómo devuelvo un int de EditText? (Android)
- 7. ¿Cómo puedo hacer que mi EditText tenga cinco líneas de alto sin usar android: inputType = "textMultiLine"?
- 8. ¿Cómo configuro un proxy en teléfonos Android?
- 9. ¿Cómo hacer un guiño en un Android EditText?
- 10. Android: ¿Cómo configuro el tamaño de texto para un diseño?
- 11. ¿Cómo puedo crear un círculo que tenga un número?
- 12. Android Cambiar la imagen cada 10 segundos
- 13. ¿Cómo configuro un origen de ImageViews programáticamente en Android?
- 14. android: cómo rellenar Edittext?
- 15. mostrar datos después de cada 10 segundos en Android
- 16. ¿Cómo puedo hacer que un div posicionado absoluto tenga un ancho igual a su matriz menos un margen
- 17. Ocultar el teclado de Android para EditText
- 18. ¿Cómo establecer el margen de forma dinámica en Android?
- 19. Cómo manejar EditText Change Listener en android
- 20. ¿Cómo configuro un evento de clic para un formulario?
- 21. Android: EditText en ListView
- 22. Desplácese dentro de un EditText que está en un ScrollView
- 23. Lectura de texto de un EditText en android
- 24. ¿Cómo hacer que Ruby ejecute alguna tarea cada 10 minutos?
- 25. ¿Cómo configuro una clave ssh privada para que hudson/jenkins tenga acceso a bitbucket?
- 26. Establecer inputType para un EditText?
- 27. ¿Cómo configuro cron para ejecutar mi script cada 40mins/25mins?
- 28. Android EditText Max Length
- 29. android EditText android: textDirection
- 30. ¿Cómo configuro programáticamente el tamaño de un ProgressBar de Android?
y para'height' ¿? –
no funcionará si tiene solo 1 componente en 'LinearLayout'. – Raptor
esto funciona para mí con solo un ListView dentro de LinearLayout y con o sin la adición de 'android: orientation =" horizontal "' en LinearLayout con 'minSdkVersion = 16'. Para la altura, solo tendrías layout_height = – rockhammer