以编程方式更改Android开关小部件高度

以编程方式更改Android开关小部件高度,android,android-switch,Android,Android Switch,我使用以下代码以编程方式创建开关: Switch s = new Switch(mActivity); s.setText(text); s.setBackground(selectorDrawable); s.setTypeface(mFont); s.setTextSize(mEntriesTextSize); s.setTextSize(8); s.setTag(command); s.setVisibility(View.VISIBLE); s.setPadding(mE

我使用以下代码以编程方式创建开关:

Switch s = new Switch(mActivity);

s.setText(text);
s.setBackground(selectorDrawable);       
s.setTypeface(mFont);
s.setTextSize(mEntriesTextSize);
s.setTextSize(8);
s.setTag(command);
s.setVisibility(View.VISIBLE);
s.setPadding(mEntriesSidesPadding,
    mEntriesUpDownPadding, mEntriesSidesPadding,
    mEntriesUpDownPadding);
s.setChecked(on);

// attempted to change height here...

s.setOnCheckedChangeListener(mOnCheckedListener);

mLayout.addView(s, mLayoutParams);
returnView = s;
如何更改屏幕上实际开关的高度(不是文本高度,而是开关本身的高度)

我试过了

setMaxHeight(), setMinHeight(), setHeight()
但似乎没有任何效果。

您可以使用:

s.getLayoutParams().height = YOUR_HEIGHT;
(您的_高度是所需的像素高度)

如果在布局已“布局”后设置高度,请确保调用:

s.requestLayout()

最有效的解决方案是:

            s.setSwitchMinWidth(x);

其中,
x
是所需的值。我花了一段时间才在上述类似函数中找到它。

请尝试s.setMinimumHeight()