1、第一种方式
string文件中
<string name="yhmsjhm"><font size="13">用户名/手机号码</font></string>
布局文件中
<EditText
android:id="@+id/et_user_name_or_phone"
android:layout_width="0dp"
android:layout_weight="1"
android:background="@null"
android:hint="@string/yhmsjhm"
android:layout_height="match_parent"/>
2、第二种方式
mainActivity.java代码中引用以下方法
public void initEditTextHint(){
et_user_name_or_phone= (EditText) findViewById(R.id.et_user_name_or_phone);
// 新建一个可以添加属性的文本对象
SpannableString ss = new SpannableString(getString(R.string.yhmsjhm));
// 新建一个属性对象,设置文字的大小
AbsoluteSizeSpan ass = new AbsoluteSizeSpan(13,true);
// 附加属性到文本
ss.setSpan(ass, 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// 设置hint
et_user_name_or_phone.setHint(new SpannedString(ss)); // 一定要进行转换,否则属性会消失
}
3、拓展
下面方式效果是前面hint字体小,后面hint字体大,适合很多控件,并不只是适合EditTextd的hint字体
<string name="bhsxhdwbx">标红色<font color="#ff0000">*</font>的为必选</string>
<string name="qsrzzje"><font size="3">请输入转账金额</font>请输入转账金额</string>
<string name="mytrack_altitude">海拔: %s米</string>
然后在代码中:
xxxxxx.setText( context.getString(R.string.mytrack_altitude,“1123”);
其中的 %s就代表你传进来的字符串会放在这里,%d表示代表整数,%s表示代表字符串,%f表示代表浮点数,是不是so easy,炒鸡方便有没有
进阶::<string name="bhsxhdwbx">标红色<font color="#ff0000" size="25">*的</font>为必选</string>
//方法一:
textView.setText(Html.fromHtml("<font color=\"#ff0000\">红色</font>其它颜色"));
//方法二:
String text = "获得银宝箱!";
SpannableStringBuilder style=new SpannableStringBuilder(text);
style.setSpan(new BackgroundColorSpan(Color.RED),2,5,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); //设置指定位置textview的背景颜色
style.setSpan(new ForegroundColorSpan(Color.RED),0,2,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); //设置指定位置文字的颜色
textView.setText(style);
<string name="app_info"><Data><![CDATA[为<font color="#00ff00">指定的</font>区间[1,4)设置指定的颜色]]></Data></string
<string name="exchange_txt_hint"><Data><![CDATA[请使用<font color="#ff0000"><b>%1$s</b></font>牛兑换<font color="#00ff00"><b>%2$s</b></font>%3$s 上网时长]]></Data></string>
网友评论