http://www.cnblogs.com/psuwgipgf/p/4874158.html
一、 TextView字体随大小变化自适应TextView
实现依靠于第三方类库
第三方类来源:
下载地址:
使用时先导入类库
以eclipse为例
1、File-Import-Android-Existing Android Code Into Workspace
将第三方类库文件导入
2、右键类库 -properties 设置 is Library
3、创建个人项目,添加第三方类库
右键项目-properties-Android-Add 选择类库 OK
然后就是正常的使用TextView了,只需要将要自适应的TextView标签设置为<me.grantland.widget.AutofitTextView/>
注意:一定要设置为单行,否定无法显示效果
android:singleLine="true" 布局文件中的属性 布局文件
1 26 48 49 activity_main.xml11 4718 23 31 36 46
String.xml
1 23 4 Texttest 5Settings 6Hello world! 7 8text 9Normal: 10Autofit: 11 12This is an example 13 14
activity
1 package com.example.texttest; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.text.Editable; 6 import android.text.TextWatcher; 7 import android.view.Menu; 8 import android.widget.EditText; 9 import android.widget.TextView;10 11 public class MainActivity extends Activity {12 13 private TextView mOutput;14 private TextView mAutofitOutput;15 @Override16 protected void onCreate(Bundle savedInstanceState) {17 super.onCreate(savedInstanceState);18 setContentView(R.layout.activity_main);19 mOutput = (TextView)findViewById(R.id.output);20 mAutofitOutput = (TextView)findViewById(R.id.output_autofit);21 22 ((EditText)findViewById(R.id.input)).addTextChangedListener(new TextWatcher() {23 @Override24 public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {25 // do nothing26 }27 28 @Override29 public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {30 mOutput.setText(charSequence);31 mAutofitOutput.setText(charSequence);32 }33 34 @Override35 public void afterTextChanged(Editable editable) {36 // do nothing37 }38 });39 }40 41 42 43 @Override44 public boolean onCreateOptionsMenu(Menu menu) {45 // Inflate the menu; this adds items to the action bar if it is present.46 getMenuInflater().inflate(R.menu.main, menu);47 return true;48 }49 50 }51 52 MainActivity.java