我尝试以编程方式更改布局高度。我有两个按钮。在一个按钮中,我更改了布局位置,第二个按钮尝试接收我第一次的保存位置。
<RelativeLayout
android:id="@+id/popaplayout"
android:layout_width="fill_parent"
android:layout_height="200dp" >
这是我的布局 在第一个按钮中我写了
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);
第二个按钮
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);
在 xml
文件中我写了高度 200dp 和编程 300 并且有不同的高度。如何以编程方式编写保存高度?
如果有人知道解决方案,请帮助我 谢谢
最佳答案
先将200dp转成像素-
final float scale = getContext().getResources().getDisplayMetrics().density;
int pixels = (int) (200 * scale + 0.5f);
然后以编程方式设置,
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);
关于android RelativeLayout以编程方式更改高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26058051/