java - 在运行时调整 android 线性布局的大小无法正常工作

标签 java android android-layout runtime android-linearlayout

我在相对布局中有一个线性布局,xml文件中线性布局的默认宽度和高度是250和150,看起来不错。但是当我在运行时调整它的大小并再次将宽度和高度设置为 250 和 150 时,它看起来不像以前那样正确,而且视觉上宽度和高度似乎比以前更小。我使用此代码在运行时调整大小:

    LinearLayout ll = (LinearLayout)findViewById(R.id.myLayout);
    ll.getLayoutParams().height=150;
    ll.getLayoutParams().width=250;
    ll.requestLayout();
    ll.invalidate();

我认为我们在运行时设置的值是以像素为单位而不是以倾角为单位,但我不确定。如果是这样,我如何在运行时更改宽度和高度的单位?

最佳答案

尝试用 DP 代替,下面是转换为 DP 的一种方法:

int valueInDP= (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, YOURVALUE, getResources().getDisplayMetrics());

YOURVALUE 替换为以 PX 为单位的值,例如 250

关于java - 在运行时调整 android 线性布局的大小无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538320/

相关文章:

android - 为不同的按钮点击打开不同的 Activity

java - 从主机系统和 Docker 容器读取文本文件会产生不同的结果

Java 通用列表给了我警告

android - 使用 React Native 在 Android 上未收到 "keyboardWillHide"事件

android - 如何解决 Android P DownloadManager 以 "Cleartext HTTP traffic to 127.0.0.1 not permitted"停止?

Android EditText 默认样式

java - 提高 bufferedImage.drawImage 的性能

java - 如何使用 Selenium 单击 href 链接

android - 如何使 ASP.NET Web API Web 服务在本地网络中可用

android - 如何检测在android中按下按钮的时间