Android RelativeLayout cambiar altura de forma programática

Intento cambiar la altura del diseño programmatically. Tengo dos botones. En un botón cambio mi posición de la disposición y el segundo botón intento recibir la posición de la bruja de la reserva que era la primera vez.

<RelativeLayout android:id="@+id/popaplayout" android:layout_width="fill_parent" android:layout_height="200dp" > 

Este es un diseño de mi y en el primer botón que escribí

 RelativeLayout.LayoutParams parms = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT); parms.addRule(RelativeLayout.BELOW, R.id.movies_title_layout); scrollpopap.setLayoutParams(parms); scrollpopap.setScrollingEnabled(true); 

Y el segundo botón

 RelativeLayout.LayoutParams rel_btn = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, 300); rel_btn.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); scrollpopap.setLayoutParams(rel_btn); scrollpopap.setScrollingEnabled(false); 

En el archivo xml escribí altura 200dp y programmatically 300 y hay altura diferente. ¿Cómo puedo escribir guardar altura en forma programática?

Si alguien sabe la solución por favor me ayude gracias

4 Solutions collect form web for “Android RelativeLayout cambiar altura de forma programática”

Primero convertir 200 dp en píxeles –

 final float scale = getContext().getResources().getDisplayMetrics().density; int pixels = (int) (200 * scale + 0.5f); 

A continuación, establezca programatically,

 RelativeLayout.LayoutParams rel_btn = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, pixels); rel_btn.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); scrollpopap.setLayoutParams(rel_btn); scrollpopap.setScrollingEnabled(false); 

Convertir DP a PX de esta manera.

 final float scale = getContext().getResources().getDisplayMetrics().density; int px = (int) (100 * scale + 0.5f); // replace 100 with your dimensions 

Establecer Algún layout_gravity de diseño relativo. Y Cambiar altura y anchura por código java.

 RelativeLayout rl = (RelativeLayout) findViewById(R.id.yourId); rl.getLayoutParams().height = px; rl.getLayoutParams().width = px; 
 RelativeLayout layout = (RelativeLayout) findViewById(R.id.yourlayout_id); // Gets the layout params that will allow you to resize the layout LayoutParams params = layout.getLayoutParams(); params.height = 320; params.width = 320; 

Si tiene la intención de cambiar la altura relativa del diseño, a continuación, esta ayuda.

 RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.yourId); relativeLayout.getLayoutParams().height = 100; relativeLayout.getLayoutParams().width = 100; 
  • EditText no desplazable dentro de ScrollView
  • WebView dentro de ScrollView parece funcionar bien, pero las advertencias de no utilizar - alternativa?
  • Utilice RecyclerView dentro de ScrollView con la altura de artículo de Recycler flexible
  • Android ScrollView (desplazable en Horizontal y Vertical suavemente) en el que el contenido se puede agregar programable y zoomable en pinch
  • ¿Cómo hacer zoomview scrollview?
  • ¿Cómo transferir eventos táctiles a la vista inferior en un RelativeLayout?
  • Visor dinámico de altura
  • Entender cómo usar la clase OverScroller
  • Fragmento dentro ScrollView da parpadeo de fondo negro
  • Vista de desplazamiento horizontal personalizada con selector
  • ScrollView no se desplaza. Desplazamiento lento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.