2011-01-26 77 views
4

我是新来的Android,我正在通过一个教程编程创建一个布局,而不是通过xml做它,我不喜欢有人建议请。Android - 以编程方式指定新的ScrollView的高度和宽度

所以我有一个ScrollView,然后添加了一个LinearLayout,我希望两者都是一个特定的大小 - 480×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)); 

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

回答

18

尝试将其设置是这样的:

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

的LinearLayout中现在应该填写滚动视图。

+0

任何想法如何在约束布局下做到这一点?感谢帮助! – 2017-08-07 18:14:28

1

你尝试做一些像

home_scroll.setLayoutParams(..,..); 

你可以找到这些here

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

感谢您的回复,我尝试这一点,但得到:该方法的LayoutParams(INT,INT)是未定义的类型滚动型。作为一个完全新手道歉,我努力学习,因为我去。 – mao 2011-01-26 14:20:00

1

简单的方式,你可以给DINAMIC宽度和高度: -

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