android RelativeLayout以编程方式更改高度

标签 android android-scrollview android-relativelayout

我尝试以编程方式更改布局高度。我有两个按钮。在一个按钮中,我更改了布局位置,第二个按钮尝试接收我第一次的保存位置。

<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/

相关文章:

Android 程序-收到 Skype 消息时有反应吗?

javascript - 在 iOS 和 Android 中通过 URL Scheme 打开 Snapchat 和 Instagram

Android studio 以编程方式添加 scrollview 不滚动

android - 如何在相对布局中以父 View 为中心对齐下方的 View

安卓预览布局

android - 如何在不终止它启动的服务的情况下终止我的应用程序(调试)

android - Android 上有哪些字体可用?

导致滚动的Android EditText文本输入

android - 单击按钮后布局正在调整大小

Android:动态添加按钮到布局