【问题标题】:Remove 1px padding right linearlayout blank space删除 1px 填充右线性布局空白空间
【发布时间】:2021-02-11 20:02:51
【问题描述】:

干草。我正在用纯 Java 创建布局。代码:

public class Menu extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // ============ FULLSCREEN

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    // ============ LINEAR MAIN

    LinearLayout layPrincipal = new LinearLayout(this);
    LinearLayout.LayoutParams layFragP = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
    layPrincipal.setLayoutParams(layFragP);
    layPrincipal.setOrientation(LinearLayout.VERTICAL);

    // ============ SET

    setContentView(layPrincipal);

    // ============ IMG

    ImageView imagemCurso = new ImageView(this);
    imagemCurso.setImageResource(R.drawable.intro);
    imagemCurso.setAdjustViewBounds(true);
    layPrincipal.addView(imagemCurso);

}

}

右侧有一条白线。看起来线性布局的正确内部间距为 1px。看:

我已经将图像换成文本视图,但同样的问题发生了。我试图在线性布局中将填充设置为零,但没有成功。我试图将重力设置在中心,但没有成功。我总是使用 MATCH_PARENT。我试过有人可以帮助我吗?感谢关注。

【问题讨论】:

  • 我用不同的图像尝试了你的代码,它工作正常。也许您的图像本身具有 1px 填充。请尝试使用不同的图像并检查。
  • 请在真机上使用该应用程序。我已经测试过了,一切正常。有时模拟器会产生一些不寻常的问题。
  • 我会在真机上检查并通知结果。感谢您的提示。

标签: java android


【解决方案1】:

setAdjustViewBounds=true 有问题

如果您希望 ImageView 调整其边界以保持其可绘制对象的纵横比,请将其设置为 true。

注意:如果应用程序的目标 API 级别为 17 或更低,adjustViewBounds 将允许可绘制对象缩小视图边界,但在所有情况下都不会增长以填充可用的测量空间。这是为了与旧版 MeasureSpec 和 RelativeLayout 行为兼容。

For more Detail click hear

【讨论】:

  • 我的项目的最小 API 是 16。目标是 30。从活动中删除“setAdjustViewBounds”问题也在模拟器和真实设备中解决。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2021-10-24
  • 2018-06-02
  • 2021-09-15
  • 2021-02-16
  • 2012-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多