button样式 - android studio button onclick



Android小部件:如何更改按钮的文本 (4)

使用java进行交换。 setText =“...”,对于类java,还有更多的实现方法。

    //button fechar
    btnclose.setEnabled(false);
    btnclose.setText("FECHADO");
    View.OnClickListener close = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (btnclose.isClickable()) {
                btnOpen.setEnabled(true);
                btnOpen.setText("ABRIR");
                btnclose.setEnabled(false);
                btnclose.setText("FECHADO");
            } else {
                btnOpen.setEnabled(false);
                btnOpen.setText("ABERTO");
                btnclose.setEnabled(true);
                btnclose.setText("FECHAR");
            }

            Toast.makeText(getActivity(), "FECHADO", Toast.LENGTH_SHORT).show();
        }
    };

    btnclose.setOnClickListener(close); 

https://ffff65535.com

如何在代码中更改Android按钮小部件的文本而不是XML文件?


您可以使用setText()方法。 例:

import android.widget.Button;

Button p1_button = (Button)findViewById(R.id.Player1);
p1_button.setText("Some text");

另外,作为参考点, Button扩展了TextView ,因此您可以像使用普通的TextView一样使用setText()


我能够像这样更改按钮的文本:

import android.widget.RemoteViews;

//grab the layout, then set the text of the Button called R.id.Counter:
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.my_layout);
remoteViews.setTextViewText(R.id.Counter, "Set button text here");

这可能是偏离主题,但对于那些正在努力如何精确改变按钮文本的字体(这是我的情况和Skatephone的答案帮助我)的人,这里是我如何做到的(如果你按钮设计模式):

首先,我们需要将按钮的字符串名称“转换”(这是一种简单的方式来解释,但很简单)从xml进入java,因此我们将上述代码粘贴到我们的MainActivity.java中

重要! 将代码放在OnCreate方法下!

import android.widget.RemoteViews;

RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.my_layout);
remoteViews.setTextViewText(R.id.Counter, "Set button text here");

记住:

my_layout必须替换为按钮所在的xml文件

Counter必须替换为按钮的id名称( "@+id/ButtonName"

如果要更改按钮文本,只需插入文本代替"Set button text here"

这里是你改变字体的部分:

现在您已从xml“转换”为java,您可以为TextView设置Typeface方法。 将以下代码完全粘贴在上面描述的上一个代码之下

TextView txt = (TextView) findViewById(R.id.text_your_text_view_id);
        Typeface font = Typeface.createFromAsset(getAssets(), "fonts/MyFontName.ttf");
        txt.setTypeface(font);

代替text_your_text_view_id你把你的按钮的id名称(就像以前的代码一样)代替MyFontName.ttf你把你想要的字体

警告! 这假设您已将所需的字体放入assets / font文件夹中。 例如assets / fonts / MyFontName.ttf





widget