我需要帮助组合两个文本视图来完成我的拼写蜜蜂界面。如下图所示,我的下划线和文本以巨大的间隙分开。我该怎么做才能合并它们?
如下所述,我的xml代码包含文本视图。我把它们都放在一个线性布局中,试图将它们放在一起。唯一的问题似乎只是差距。
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:gravity="center_horizontal"
android:layout_below="@+id/btnSound"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true">
<TextView android:text="@string/randomwords" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/RandomWords"
android:textSize="25sp"
android:layout_below="@+id/btnSound"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/lblUnderscore"
android:gravity="top" />
</LinearLayout>
答案发现!!使用FRAMELAYOUT。
它很接近但并不完美。
答案 0 :(得分:0)
只需切换到相对布局并添加layout_below即可解决问题:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:gravity="center_horizontal"
android:layout_below="@+id/btnSound"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true">
<TextView android:text="@string/randomwords"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/RandomWords"
android:textSize="25sp"
android:layout_below="@+id/btnSound"
android:layout_centerHorizontal="true" />
<TextView android:layout_below="@id/RandomWord"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/lblUnderscore"
android:gravity="top" />
</RelativeLayout>
您也可以先将下划线(最后放在后面),然后在随机词上使用layout_bottom,让字母略微叠加下划线,如果那就是你想要的
答案 1 :(得分:0)
用一个textview做这个怎么样?
Textview tv= (TextView)findViewById(R.id.randomwords);
tv.setText(Html.fromHtml(test("prospective")));
.............
public String test(String str) {
char [] charArr = str.toCharArray();
String htmlStr = "";
for (int i = 0; i < charArr.length; i++) {
htmlStr += "<u>" + charArr[i] + "</u>"+" ";
}
return htmlStr;
}