【问题标题】:How to set the height and width of linear layout dynamically in android如何在android中动态设置线性布局的高度和宽度
【发布时间】:2023-03-04 01:55:01
【问题描述】:

我的 xml 中有一个 Linearlayout,它的高度和宽度都有 fill_parent... 现在我想动态改变高度和宽度...... 我尝试使用

_llChooseType.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,getWindowManager().getDefaultDisplay().getHeight()-100));

但它给了我 java.lang.ClassCastException: android.view.ViewGroup$LayoutParams 异常...

怎么做?

【问题讨论】:

  • 不确定,所以这是一条评论,但如果我没记错的话,您可以在布局本身上执行 getLayoutParams() 或类似的操作,以获得正确的布局参数。

标签: android


【解决方案1】:

使用这个..

new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,getWindowManager().getDefaultDisplay().getHeight()-100));

【讨论】:

    【解决方案2】:

    如果 _llChooseType 是一个 LinearLayout 对象,那么我认为你应该使用

    new LinearLayout.LayoutParams(...);
    

    问候

    陈子腾

    【讨论】:

      【解决方案3】:

      setLayoutParams widht & height 只能有以下 3 个值:FILL_PARENT、MATCH_PARENT 和 WRAP_CONTENT。

      您应该使用public void layout (int l, int t, int r, int b) 来实际更改创建的视图/视图组的布局。

      【讨论】:

        【解决方案4】:

        这样做... 类型:

        _llChooseType.setLayoutParams(new Layo
        

        然后按 ctrl+space_bar。 这将为您提供可供选择的 LayoutParams 选项列表...选择 LinearLayout.LayoutParams 并按原样编写其余代码。 这里的问题是您使用的 LayoutParams 是 ViewGroup.LayoutParams 并且它们不适用于线性布局!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-08-26
          • 2023-03-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多