【问题标题】:LinearLayout change sizeLinearLayout 改变大小
【发布时间】:2016-10-19 14:57:36
【问题描述】:

我有下一个xml:

<RelativeLayout>
<ImageView
android:id="@+id/imageView1"
android:src="@drawable/image_back" />

<LinearLayout
android:id="@+id/linearLayoutNames"
android:layout_height = "fill_parent"
android:layout_weight = "fill_parent"
android:layout_alignTop = "@+id/image_back"
android:layout_marginTop = "38dp" />

<LinearLayout
android:id="@+id/linearLayoutPoints
android:layout_height = "wrap_content"
android:layout_weight = "wrap_content"
android:layout_alignBottom = "@+id/image_back"
android:layout_below = "@+id/linearLayoutNames" />
</RelativeLayout>

还有我的编程代码:

LinearLayout linearLayoutPoints = (LinearLayout)  findViewRoot(R.id.linearLayoutPoints);
RelativeLayout.LayoutParams layoutParams = (android.widget.RelativeLayout.LayoutParams) linearLayoutPoints.getLayoutParams();
layoutParams.width = 200;
layoutParams.height = 300;
linearLayoutPoints.setLayoutParams(layoutParams);

我想调整 linearLayoutPoints 的大小,但是当 Y 尝试时,什么也没有发生!仅在我调整 de imageView1 的大小时才调整它的大小,但我不想要那样。 不知道为什么。

帮助

【问题讨论】:

  • 你为什么使用RelativeLayout.LayoutParams而不是LinearLayout.LayoutParams?
  • 因为我的linearLayout的parnt是一个相对布局

标签: android layout resize android-linearlayout


【解决方案1】:

您可以尝试这样做:

layoutParms.setMargin(0, 0, 0, (layoutParms.height -200));

这可能会起作用,因为您的布局在图像和其他布局之间有些紧张。

【讨论】:

  • 对不起,我在这里写错了!我的错误,我将编辑我的问题
  • 怎么知道布局的大小没有变化?布局中没有元素。
  • 另一种解决方案可能是删除代码中的规则 alignBottom。
  • 试试 layoutParms.removeRule(android.widget.RelativeLayout.LayoutParms.ALIGN_BOTTOM);
  • 我会尝试删除规则。该布局还有两个相对布局。有一个背景颜色,这就是我可以看到是否调整它的大小
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多