División de un RelativeLayout en dos mitades

Hola He creado un RelativeLayout que contiene 2 botones, un botón de radio y una vista de gráfico.

Quiero mostrar dos datos diferentes en el gráfico ahora.

¿Cómo dividir el RelativeLayout en dos mitades?

Este es mi código XML actual:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/BtnStart" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginTop="5dip" android:text="SlaveEnable" /> <Button android:id="@+id/BtnStop" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginTop="5dip" android:layout_toRightOf="@id/BtnStart" android:text="SlaveDisable" /> <RadioButton android:id="@+id/BtnSaveFile" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_toRightOf="@id/BtnStop" android:text="SaveFile" /> <helog.diwesh.NugaBest.GraphView android:id="@+id/gview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/BtnStart" android:layout_alignParentRight="true" /> </RelativeLayout> 

Pruebe este diseño. Esto debería funcionar con algunos cambios si no es perfecto. Esto agregará dos gráficos.

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/BtnStart" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginTop="5dip" android:text="SlaveEnable" /> <Button android:id="@+id/BtnStop" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginTop="5dip" android:layout_toRightOf="@id/BtnStart" android:text="SlaveDisable" /> <RadioButton android:id="@+id/BtnSaveFile" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_toRightOf="@id/BtnStop" android:text="SaveFile" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/BtnStart" android:layout_alignParentRight="true" android:orientation="vertical" android:weightSum="2" > <helog.diwesh.NugaBest.GraphView android:id="@+id/gview1" android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" /> <helog.diwesh.NugaBest.GraphView android:id="@+id/gview2" android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="1" /> </LinearLayout> </RelativeLayout> 

Por lo tanto, para esto, la mejor manera que he encontrado (que se siente como un hack total, pero funciona como un encanto) es tener una vista de tamaño cero alineada con el centro del diseño, a continuación, alinear la mitad izquierda a la izquierda De esa Vista, alinee la mitad derecha a la derecha de esa Vista. Por ejemplo:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <View android:id="@+id/anchor" android:layout_width="0dp" android:layout_height="0dp" android:layout_centerInParent="true" /> <Button android:id="@+id/left_side" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toLeftOf="@id/anchor" android:layout_alignParentBottom="true" android:layout_marginTop="5dip" android:text="Left Side" /> <Button android:id="@+id/right_side" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toRightOf="@id/anchor" android:layout_alignParentBottom="true" android:layout_marginTop="5dip" android:text="Right Side" /> </RelativeLayout> 

Utilice Linearlayout en lugar de RelativeLayout.LinearLayout le permite dividir la pantalla en dos partes exactas vertical u horizontalmente como desee utilizando la propiedad layout_weight de LinearLayout.

Con layout_weight puede especificar una relación de tamaño entre varias vistas. Por ejemplo, tiene un MapView y una tabla que debe mostrar alguna información adicional al mapa. El mapa debe utilizar 3/4 de la pantalla y la tabla debe utilizar 1/4 de la pantalla. A continuación, establecerá el layout_weight del mapa en 3 y el layout_weight de la tabla en 1.

Escriba su código como a continuación que se divide la pantalla en dos partes.

 <LinearLayout android:layout_height="match_parent" android:layout_width="match_parent" android:weightSum="2" android:orientation="vertical"> <LinearLayout android:layout_height="match_parent" android:layout_width="match_parent" android:layout_weight="1"> </LinearLayout> <LinearLayout android:layout_height="match_parent" android:layout_width="match_parent" android:layout_weight="1"> <LinearLayout> 

En el código androide: la orientación es especificar la orientación si se utiliza vertical, entonces se arrage su hijo verticalmente y si se especifica horizontal, entonces se organiza su hijo horizontalmente.

Esto debería funcionar. LinearLayout el RelativeLayout con LinearLayout para usar layout_weight .

 <?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="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight=".50" > <Button android:id="@+id/BtnStart" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_marginTop="5dip" android:text="SlaveEnable" /> <Button android:id="@+id/BtnStop" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_marginTop="5dip" android:text="SlaveDisable" /> <RadioButton android:id="@+id/BtnSaveFile" android:layout_width="100dip" android:layout_height="wrap_content" android:text="SaveFile" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight=".50" > <helog.diwesh.NugaBest.GraphView android:id="@+id/gview" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> </LinearLayout> 
  • Atributos personalizados para un DialogPreference
  • ¿Qué puedo hacer cuando obtengo un error "no se puede resolver con un tipo"?
  • Utilizar la vista personalizada del proyecto de biblioteca en mi caso
  • AlertDialog con vista personalizada: redimensionar para ajustar el contenido de la vista
  • Crear botón con esquinas redondeadas en android
  • Efecto de establecer la visibilidad de los padres sobre sus hijos
  • StaggeredGridView establece el ancho y la altura para determinada imagen
  • Android: agregar botones a un diseño de forma programática
  • ImageView una dimensión para caber espacio libre y segundo evaluar para mantener la ración de aspecto
  • Error de conexión de anuncios: EOF (nuevo en android)
  • ¿Cuál es el papel de content_main.xml en android studio 1.4?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.