2012-08-17 48 views
2

我尝试使用下面的代码动态更改微调器的宽度,但出现错误消息。什么是正确的方法来做到这一点?动态更改Android中微调器的宽度

Spinner s1 = (Spinner) findViewById(R.id.s1_10); 
s1.setLayoutParams(new LayoutParams(400, LayoutParams.WRAP_CONTENT)); 
+0

可能重复[安卓:?如何以编程方式调整自定义视图(http://stackoverflow.com/questions/2963152/android-how-to-resize-a-custom-view-programmatically) – prolink007 2012-08-17 13:56:12

回答

4

做下面的事情,我知道它看起来很丑,但这似乎是目前唯一的方法。

ViewGroup.LayoutParams params = mSomeView.getLayoutParams(); 
params.width += 10; 
s1.setLayoutParams(params); 
+1

是的,最后使用RelativeLayout.LayoutParams lp =(android.widget.RelativeLayout.LayoutParams)s1.getLayoutParams(); \t \t lp.width = 400; \t \t s1.setLayoutParams(lp); – Rynardt 2012-08-17 13:56:27