在Android中动态更改微调框的宽度

Ryn*_*rdt 3 android dynamic width spinner layoutparams

我尝试使用以下代码动态更改微调器的宽度,但收到错误消息。正确的方法是什么?

Spinner s1 = (Spinner) findViewById(R.id.s1_10);
s1.setLayoutParams(new LayoutParams(400, LayoutParams.WRAP_CONTENT));
Run Code Online (Sandbox Code Playgroud)

pro*_*007 5

执行以下操作,我知道它看起来很丑,但这似乎是目前的唯一方法。

ViewGroup.LayoutParams params = mSomeView.getLayoutParams();
params.width += 10;
s1.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)

  • 是的,最终使用了RelativeLayout.LayoutParams lp =(android.widget.RelativeLayout.LayoutParams)s1.getLayoutParams(); lp.width = 400; s1.setLayoutParams(lp); (2认同)