我尝试在TextView中添加自定义引号。我用水平创建LinearLayout并添加开始/结束自定义textview。这是我的资料来源
<LinearLayout
android:id="@+id/description_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dimen_p_30"
android:layout_marginTop="@dimen/dimen_p_25"
android:layout_marginRight="@dimen/dimen_p_30"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/helvetica_regular"
android:gravity="top"
android:text="“"
android:textColor="#E8E9EF"
android:textSize="@dimen/dimen_p_46" />
<TextView
android:id="@+id/descriptionTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/myriad_geo_medium"
android:gravity="top"
android:maxLines="150"
android:text="test message"
android:textColor="@color/gray"
android:textSize="@dimen/dimen_p_14" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/helvetica_regular"
android:gravity="bottom"
android:text="”"
android:textColor="#E8E9EF"
android:textSize="@dimen/dimen_p_46" />
</LinearLayout>
一切正常,但是当我的descriptionTextView
具有较大的文本并且需要两行时,则不会显示3th textview。是否可以解决此问题,或者我的方法是否正确?
谢谢
答案 0 :(得分:0)
将weight
用于这样的TextView
<LinearLayout
android:id="@+id/description_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dimen_p_30"
android:layout_marginTop="@dimen/dimen_p_25"
android:layout_marginRight="@dimen/dimen_p_30"
android:orientation="horizontal"
android:weightSum="3"
>
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/helvetica_regular"
android:gravity="top"
android:text="“"
android:textColor="#E8E9EF"
android:textSize="@dimen/dimen_p_46" />
<TextView
android:id="@+id/descriptionTextView"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/myriad_geo_medium"
android:gravity="top"
android:maxLines="150"
android:text="test message"
android:textColor="@color/gray"
android:textSize="@dimen/dimen_p_14" />
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/helvetica_regular"
android:gravity="bottom"
android:text="”"
android:textColor="#E8E9EF"
android:textSize="@dimen/dimen_p_46" />
</LinearLayout>
答案 1 :(得分:0)
将带有感叹号的完整文本仅添加到一个TextView中。使用Spannable字符串将颜色设置为感叹号。
TextView textView = (TextView)findViewById(R.id.mytextview01);
String mText = textView.getText();
Spannable wordtoSpan = new SpannableString(mText);
wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), (mText.Length()-2), (mText.Length()-1), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(wordtoSpan);