我遇到的问题是将第二个TextView
与TextView
的右侧对齐,后者跨越两行。
我正在使用RelativeLayout
,但当我使用layout_toRightOf
时,它会显示在屏幕顶部,当我添加layout_alignRight
时,它会消失。
我很困惑这是如何工作的。你会认为它会跟随第一个TextView
结束的地方,但事实并非如此。哦,我在宽度和高度上使用wrap_content
,任何人都认为这是问题所在。提前谢谢。
XML
<TextView
android:id="@+id/edit_event_name_show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18dp"
android:textStyle="bold"
android:layout_marginBottom="5dp"
android:scrollHorizontally="false"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true" />
<TextView
android:id="@+id/show_event_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10dp"
android:scrollHorizontally="false"
android:layout_toRightOf="@+id/edit_event_name_show"
android:layout_alignBaseline="@+id/edit_event_name_show" />
编辑:对于任何尝试与TextViews很好地对齐的问题,任何人都没有默认方法。但您可以使用SpannableString
并使用SpannableStringBuilder
构建它们。
答案 0 :(得分:3)
使用Spannables
我离开了谈话,与Spannables混在一起创造了这个:
public class Example extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setTextSize(18);
String first = "A sentence that contains enough balderdash, blather and babble to wrap at least once.";
String second = " (Normal)";
Spannable span = new SpannableString(first + second);
span.setSpan(new StyleSpan(Typeface.BOLD), 0, first.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
span.setSpan(new RelativeSizeSpan(0.7f), first.length(), span.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(span);
setContentView(textView);
}
}
但是prolink007已经给你一个通用的链接......哦。无论如何我发布它。
答案 1 :(得分:3)
第三次尝试(成功尝试)
我相信这会对你有所帮助,而且比其他东西容易得多。
尝试使用此reference,但更改字体大小而不是颜色。
Sam的回答总结了这个链接。 (如果链接在某个时刻死亡。)
第二次尝试
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/edit_event_name_show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:scrollHorizontally="false"
android:text=" test 1 jfalksjdflkjasdfj"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:id="@+id/show_event_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/edit_event_name_show"
android:layout_alignParentRight="true"
android:scrollHorizontally="false"
android:text="test2 adjfalsjdfla fa sdfasdf asf a"
android:textSize="10dp" />
</RelativeLayout>
照片:
首次尝试
为什么不用TextViews
包围LinearLayout
。这将使他们更有条理,更清洁。
试试这个,让我知道它是怎么回事:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/edit_event_name_show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollHorizontally="false"
android:text="test1"
android:textSize="18dp"
android:textStyle="bold"
android:layout_weight="1" />
<TextView
android:id="@+id/show_event_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollHorizontally="false"
android:text="test2"
android:textSize="10dp"
android:layout_weight="1" />
</LinearLayout>
</RelativeLayout>
照片:
长文:
答案 2 :(得分:-1)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/news_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:singleLine="true"
android:ellipsize="end"
android:textSize="30sp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:textStyle="bold"
android:text="hiangdnfaljiadnk" />
<TextView
android:id="@+id/news_summary"
android:paddingTop="5dp"
android:layout_below="@id/news_title"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp" android:text="hiangdnfaljiadnkfjfaingaldnfasidognkahiangdnfaljiadnkfjfaingaldnfasidognkahiangdnfaljiadnkfjfaingaldnfasidognka"
/>
<TextView
android:id="@+id/news_from"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:layout_below="@id/news_summary"
android:layout_alignParentLeft="true"
android:textSize="20sp"
android:text="1111111" />
<TextView
android:id="@+id/news_comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="10dp"
android:layout_below="@id/news_summary"
android:layout_alignParentRight="true"
android:textSize="20sp"
android:text="3333333" />
</RelativeLayout>