方法一:
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFCCCCCC" >
<TextView
android:id="@+id/am_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/background_dark"
android:textColor="@android:color/background_light"
android:layout_centerInParent="true"/>
</RelativeLayout>
MainActivity.java
package com.example.testexample;
import android.app.Activity;
import android.graphics.Paint;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView)findViewById(R.id.am_text);
Paint paint = tv.getPaint();
float textWidth = paint.measureText("sample text");
tv.setWidth((int)textWidth);
tv.setText("sample text");
}
}
方法二:
activity_main.xml与方法一一样
MainActivity.java
package com.example.testexample;
import android.app.Activity;
import android.graphics.Paint;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView)findViewById(R.id.am_text);
//此处paint与方法一不一样
Paint paint = new Paint();
float textSize = tv.getTextSize();
paint.setTextSize(textSize);
final float textWidth = paint.measureText("sample text");
tv.setWidth((int)textWidth);
tv.setText("sample text");
}
}