切换按钮android

时间:2011-09-01 08:41:32

标签: android toggle

我希望我的切换按钮的ON文本很大而OFF文本很小。但不能这样做..有什么建议吗?这就是我的尝试

mf=(ToggleButton)findViewById(R.id.mf);

        if(mf.isEnabled()==true)
        {
            mf.setTextSize(13);
        }
        else
            mf.setTextSize(8);

3 个答案:

答案 0 :(得分:15)

每次单击按钮时都必须调用您的代码。所以使用:

toggleButton.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        if (toggleButton.isChecked()) {
            toggleButton.setTextSize(13.0f);
        } else {
            toggleButton.setTextSize(8.0f);
        }
    }
});

您可以使用简单方法设置OnClickListner。在.xml中添加选项

android:onClick="nameOfMethod" 

然后在你的代码中:

public void nameOfMethod(View v){

}

其中v是这种情况下的togglebutton(ToggleButton mf =(ToggleButton)v;)

答案 1 :(得分:4)

我把解决方案放在这里:

 mf=(ToggleButton)findViewById(R.id.mf);

    if(mf.isChecked())
    {
        mf.setTextSize(13);
    }
    else
        mf.setTextSize(8);

使用isChecked()而不是isEnabled()

答案 2 :(得分:3)

您需要进行一些调试。

首先:

if(mf.isEnabled()==true) 

可以

if (mf.isEnabled()) 

它上面的mf.setTextSize(13)是否按预期工作?

添加一些日志记录:

    if (mf.isEnabled())
    {
        // Add some logging, is this line reached correctly?
        mf.setTextSize(13);
    }
    else
        // Add some logging, is this line reached correctly?
        mf.setTextSize(8);

您需要将isEnabled()更改为isChecked()isEnabled()意味着,无论是否已启用。您想知道该按钮是否已被选中。