Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 按钮上有多个文本行。每行有不同的文本样式_Android_Button - Fatal编程技术网

Android 按钮上有多个文本行。每行有不同的文本样式

Android 按钮上有多个文本行。每行有不同的文本样式,android,button,Android,Button,嗨,我正在尝试创建一个包含多行文本的按钮。参见下面的示例。每行文本都有不同的文本大小和颜色。该按钮还需要能够将用户发送到下一页。这在XML中是可能的吗?我到处找了,找不到解决办法。谢谢 按钮标题文本(绿色大字体) 第一个按钮文本(灰色小字体) 2st按钮文本(白色小字体) 见示例: 无法访问图片。但根据您的问题,您可以实现一个LinearLayout作为主组件,并将其属性设置为clickable和focusable,将其背景设置为android.R.drawable.btn_默认值。将此布局的方

嗨,我正在尝试创建一个包含多行文本的按钮。参见下面的示例。每行文本都有不同的文本大小和颜色。该按钮还需要能够将用户发送到下一页。这在XML中是可能的吗?我到处找了,找不到解决办法。谢谢

按钮标题文本(绿色大字体) 第一个按钮文本(灰色小字体) 2st按钮文本(白色小字体)

见示例:


无法访问图片。但根据您的问题,您可以实现一个LinearLayout作为主组件,并将其属性设置为clickable和focusable,将其背景设置为android.R.drawable.btn_默认值。将此布局的方向设置为Vetical

在此线性布局中以xml或动态方式添加任意样式的文本视图。但是,将所有TextView focusable and Clickable属性设置为false。

Html.fromHtml(字符串)可以解释一些hmtl标记,因此您可以使用Html设置按钮文本的样式

假设您已经在XML文件中定义了按钮,那么您可以在Java代码中像这样设置按钮的文本

Button button = (Button) findViewById(R.id.button1);
    String styledText = "<big> <font color='#008000'>"
            + "My orders" + "</font> </big>" + "<br />" 
            + "<small>" + "You have no current orders" + "</small>";
    button.setText(Html.fromHtml(styledText));

    // Attach a listener to the button that will make something 
    // happen when the button is clicked
    button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {

            // Put your Intent code here
            Log.d("onclick", "Button click registered");

            }
    });
Button-Button=(Button)findViewById(R.id.button1);
字符串styledText=“”
+“我的订单”+“”+”
” +“+”您当前没有订单“+”; setText(Html.fromHtml(styledText)); //在按钮上附加一个监听器,它将生成一些内容 //单击按钮时发生 setOnClickListener(新的OnClickListener(){ @凌驾 公共void onClick(视图arg0){ //把你的意图代码放在这里 d(“onclick”,“Button click registed”); } });
您可以堆叠
HTML标记以增加其效果:

private final String btnInnerHTML = "<big><big><big><font color='#000000'><b>%s</b></font></big></big></big><br/><small>%s</small>";
btn0.setText(Html.fromHtml(String.format(btnInnerHTML, "Line1", "Line2")));
private final String btnInnerHTML=“%s
%s”; setText(Html.fromHtml(String.format(btnInnerHTML,“Line1”、“Line2”)));
使用listview而不是按钮,这将很容易用listview创建。您好,您有我可以看的示例代码吗?您好,谢谢您的回复。我是android开发的新手,我想你没有这方面的代码示例。我对你答案中的“android.R.drawable.btn_default”有点困惑。您指的是java文件吗?它的默认背景可为按钮绘制。或者您可以使用类似问题中解释的
SpannableString
。谢谢您的回答。我已经使用了你的代码,它工作没有问题。要将其向左对齐,我是否只使用?意图语句是否位于“button.setText(Html.fromHtml(styledText))”下面;默认情况下,按钮的重心设置为居中。要将文本移到左侧,必须编写android:gravity=“left“在按钮属性的XML文件中。我还在上面的代码中添加了一些行,解释了如何让按钮对点击做出反应。将您的意图声明放在onClick方法中。感谢您的帮助。最后一个问题我保证。。。你能用特定的单位而不是标签来设置字体大小吗?理想情况下,我希望“我的订单”文本比“你没有当前订单”文本大很多。我用过,但什么也没发生。再次感谢。对不起,我忘了问行距是否可行。谢谢。不抱歉,字体大小标签似乎不受支持。我不知道行距,我自己也从未尝试过。您可以尝试像这样的标题标签,看看它看起来是否正常。否则,你将不得不使用吉特写的另一个答案,它将让你完全控制按钮的外观。