J'essaie de modifier la hauteur de la mise en page par programme. J'ai deux boutons. Dans un bouton, je change ma position de mise en page et le deuxième bouton, j'essaie de recevoir la position de sauvegarde que j'étais la première fois.
<RelativeLayout
Android:id="@+id/popaplayout"
Android:layout_width="fill_parent"
Android:layout_height="200dp" >
Ceci est ma mise en page et dans le premier bouton, j'ai écrit
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);
et deuxième bouton
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);
Dans le fichier xml
j'ai écrit la hauteur 200dp et 300 par programme et il y a une hauteur différente. Comment puis-je écrire enregistrer la hauteur par programme?
si quelqu'un connaît la solution s'il vous plaît aidez-moi merci
Convertissez d'abord 200 dp en pixels -
final float scale = getContext().getResources().getDisplayMetrics().density;
int pixels = (int) (200 * scale + 0.5f);
Ensuite, définissez par programme,
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);
Convertissez DP en PX comme ceci.
final float scale = getContext().getResources().getDisplayMetrics().density;
int px = (int) (100 * scale + 0.5f); // replace 100 with your dimensions
Définissez une certaine disposition_gravité de la disposition relative. et Modifiez la hauteur et la largeur par Java code.
RelativeLayout rl = (RelativeLayout) findViewById(R.id.yourId);
rl.getLayoutParams().height = px;
rl.getLayoutParams().width = px;
Si vous avez l'intention de changer la hauteur de RelativeLayout
, alors cette aide.
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.yourId);
relativeLayout.getLayoutParams().height = 100;
relativeLayout.getLayoutParams().width = 100;
tilisez ceci
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;