Android 两种不同大小的textview文本
Android textview text with two different sizes
我试图在一个文本视图中设置 html 具有不同文本大小的文本,但什么也没有。
我正在这样尝试:
textViewNextTime.setText(Html.fromHtml("<h2>4</h2><p>38</p>"));
我也试过使用和标签但没有成功。谁能帮我用这样的文本创建一个 textView(当然没有圆圈):
编辑: 例如 4
的大小应该类似于 140sp
,而 :38
的大小应该类似于 70sp
尺寸
如果您不需要使用 html,您可以尝试这样的操作:
String s= "4:38";
SpannableString ss1= new SpannableString(s);
ss1.setSpan(new RelativeSizeSpan(2f), 0, 1, 0); // set size
TextView tv= (TextView) findViewById(R.id.textview);
tv.setText(ss1);
试试这个:
MainActivity.java
public class MainActivity extends Activity {
private final String htmlText = "<body><h1>Heading Text</h1><p>This tutorial " +
"explains how to display " +
"<strong>HTML </strong>text in android text view. </p>" +
"<img src=\"hughjackman.jpg\">" +
"<blockquote>Example from <a href=\"www.javatechig.com\">" +
"Javatechig.com<a></blockquote></body>";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView htmlTextView = (TextView)findViewById(R.id.html_text);
htmlTextView.setText(Html.fromHtml(htmlText, new ImageGetter(), null));
}
private class ImageGetter implements Html.ImageGetter {
public Drawable getDrawable(String source) {
int id;
if (source.equals("hughjackman.jpg")) {
id = R.drawable.abc_ic_ab_back_mtrl_am_alpha;
}
else {
return null;
}
Drawable d = getResources().getDrawable(id);
d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
return d;
}
};
}
activity_main.xml
<LinearLayout 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"
tools:context=".MainActivity"
android:orientation="vertical" >
<TextView
android:id="@+id/title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your HTML text Below"/>
<TextView
android:id="@+id/html_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
我试图在一个文本视图中设置 html 具有不同文本大小的文本,但什么也没有。
我正在这样尝试:
textViewNextTime.setText(Html.fromHtml("<h2>4</h2><p>38</p>"));
我也试过使用和标签但没有成功。谁能帮我用这样的文本创建一个 textView(当然没有圆圈):
编辑: 例如 4
的大小应该类似于 140sp
,而 :38
的大小应该类似于 70sp
尺寸
如果您不需要使用 html,您可以尝试这样的操作:
String s= "4:38";
SpannableString ss1= new SpannableString(s);
ss1.setSpan(new RelativeSizeSpan(2f), 0, 1, 0); // set size
TextView tv= (TextView) findViewById(R.id.textview);
tv.setText(ss1);
试试这个: MainActivity.java
public class MainActivity extends Activity {
private final String htmlText = "<body><h1>Heading Text</h1><p>This tutorial " +
"explains how to display " +
"<strong>HTML </strong>text in android text view. </p>" +
"<img src=\"hughjackman.jpg\">" +
"<blockquote>Example from <a href=\"www.javatechig.com\">" +
"Javatechig.com<a></blockquote></body>";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView htmlTextView = (TextView)findViewById(R.id.html_text);
htmlTextView.setText(Html.fromHtml(htmlText, new ImageGetter(), null));
}
private class ImageGetter implements Html.ImageGetter {
public Drawable getDrawable(String source) {
int id;
if (source.equals("hughjackman.jpg")) {
id = R.drawable.abc_ic_ab_back_mtrl_am_alpha;
}
else {
return null;
}
Drawable d = getResources().getDrawable(id);
d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
return d;
}
};
}
activity_main.xml
<LinearLayout 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"
tools:context=".MainActivity"
android:orientation="vertical" >
<TextView
android:id="@+id/title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your HTML text Below"/>
<TextView
android:id="@+id/html_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>