做项目时遇到EditText中hint属性由于文字太长导致后面显示不出来的的问题,当然我们也可以使用scrollHorizontally这个属性来解决问题。下面介绍一下如何把hint字体变小的问题了,其实很简单。xml文件我就不展示了,只是一个EditText控件而已。
import android.os.Bundle;
import android.app.Activity;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.AbsoluteSizeSpan;
import android.view.Menu;
import android.widget.EditText;
/**
*
* @author Administrator
* 解决hint里文本字体太大问题
*/
public class MainActivity extends Activity {
private EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et=(EditText)findViewById(R.id.editText1);
//获取控件EditText中的hint文本
String ss=et.getHint().toString();
//新建一个可以添加属性的文本对象
SpannableString sm=new SpannableString(ss);
//新建一个属性对象,设置文字的大小。12表示字体大小
AbsoluteSizeSpan ass=new AbsoluteSizeSpan(12,true);
// 附加属性到文本
sm.setSpan(ass, 0, sm.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//最后一步转换,把内容放进控件里
et.setHint(new SpannableString(sm));
}
}