Android 按钮上有多个文本行。每行有不同的文本样式
嗨,我正在尝试创建一个包含多行文本的按钮。参见下面的示例。每行文本都有不同的文本大小和颜色。该按钮还需要能够将用户发送到下一页。这在XML中是可能的吗?我到处找了,找不到解决办法。谢谢 按钮标题文本(绿色大字体) 第一个按钮文本(灰色小字体) 2st按钮文本(白色小字体) 见示例:Android 按钮上有多个文本行。每行有不同的文本样式,android,button,Android,Button,嗨,我正在尝试创建一个包含多行文本的按钮。参见下面的示例。每行文本都有不同的文本大小和颜色。该按钮还需要能够将用户发送到下一页。这在XML中是可能的吗?我到处找了,找不到解决办法。谢谢 按钮标题文本(绿色大字体) 第一个按钮文本(灰色小字体) 2st按钮文本(白色小字体) 见示例: 无法访问图片。但根据您的问题,您可以实现一个LinearLayout作为主组件,并将其属性设置为clickable和focusable,将其背景设置为android.R.drawable.btn_默认值。将此布局的方
无法访问图片。但根据您的问题,您可以实现一个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方法中。感谢您的帮助。最后一个问题我保证。。。你能用特定的单位而不是标签来设置字体大小吗?理想情况下,我希望“我的订单”文本比“你没有当前订单”文本大很多。我用过,但什么也没发生。再次感谢。对不起,我忘了问行距是否可行。谢谢。不抱歉,字体大小标签似乎不受支持。我不知道行距,我自己也从未尝试过。您可以尝试像这样的标题标签,看看它看起来是否正常。否则,你将不得不使用吉特写的另一个答案,它将让你完全控制按钮的外观。