我正在尝试修复的问题如下:我正在使用a TextView并且我使用a Spannable设置一些字符粗体.文本需要有2行(android:maxLines="2")的格言,我希望文本被椭圆化,但由于某种原因,我不能使文本椭圆化.
这是简单的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:maxLines="2"
android:ellipsize="end"
android:bufferType="spannable"
android:text="@string/app_name"
android:textSize="15dp"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
和活动:
public class MyActivity extends Activity {
private TextView name;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
name= (TextView) findViewById(R.id.name);
name.setText("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy ");
Spannable spannable = (Spannable)name.getText();
StyleSpan boldSpan = new StyleSpan( Typeface.BOLD ); …Run Code Online (Sandbox Code Playgroud) 我SpannableString用第一个字符创建了一个,而后两个小于其余字符.它看起来像这样:
sBBBBss
Run Code Online (Sandbox Code Playgroud)
我想对齐较小的字符,使它们与较大文本的顶部对齐,而不是与底部对齐(如此处所示).
这可能吗?
我想我正在寻找像这样的伪代码:
myAmount.setSpan(new RelativeAlignSpan(View.TOP),0,1,0);
我唯一的另一种选择是使用多个TextView创建一个新的布局,我可以独立填充,然后我可以对齐.我认为这有点混乱,并且更喜欢使用SpannableString方法.