【问题标题】:Android - Programmatically specify height and width of new ScrollViewAndroid - 以编程方式指定新 ScrollView 的高度和宽度
【发布时间】:2011-01-26 13:49:38
【问题描述】:

我是 Android 新手,我正在学习有关以编程方式创建布局而不是通过 xml 进行的教程,我有点卡住了,请有人建议。

所以我有一个 ScrollView,然后在其中添加了一个 LinearLayout,我希望两者都是特定大小 - 480 x 800(下面的代码)。我能够在 LinearLayout 中设置大小,但我无法让 ScrollView 也成为那个大小,但我找不到如何做到这一点。

这可能吗,因此我是否可以只指定 ScrollView 尺寸并让后续视图继承它。

ScrollView home_scroll = new ScrollView(this);
LinearLayout home_linear = new LinearLayout(this);
home_linear.setOrientation(LinearLayout.VERTICAL);

home_scroll.addView(home_linear, new LinearLayout.LayoutParams(480, 800));

任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: android scrollview dimensions


    【解决方案1】:

    尝试这样设置:

    home_scroll.setLayoutParams(new ViewGroup.LayoutParams(480, 800));
    home_scroll.addView(home_linear, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    

    现在线性布局应该填满滚动视图。

    【讨论】:

    • 知道如何在约束布局下做到这一点吗?感谢您的帮助!
    【解决方案2】:

    你有没有尝试做类似的事情

    home_scroll.setLayoutParams(..,..);
    

    你可以找到这些here

    setLayoutParams(ViewGroup.LayoutParams params) 
    Set the layout parameters associated with this view.
    

    【讨论】:

    • 感谢您的回复,我正在尝试,但得到:方法 LayoutParams(int, int) 对于 ScrollView 类型未定义。抱歉,我是一个完全的新手,我正在努力学习。
    【解决方案3】:

    您可以提供动态宽度和高度的简单方法:-

     LayoutParams layout = new LayoutParams(LayoutParams.WRAP_CONTENT,
                        LayoutParams.WRAP_CONTENT);
                layout.setMargins(screenWidth / 5, screenHeight - cardHeight - 30, 0, 0);
                tvConftxt.setLayoutParams(layout);
    

    【讨论】:

      猜你喜欢
      • 2011-06-29
      • 1970-01-01
      • 2011-04-01
      • 2011-03-09
      • 2017-02-28
      • 1970-01-01
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多