我如何组合两个文本字段

时间:2015-08-05 06:29:50

标签: android

我需要帮助组合两个文本视图来完成我的拼写蜜蜂界面。如下图所示,我的下划线和文本以巨大的间隙分开。我该怎么做才能合并它们? enter image description here

如下所述,我的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。

enter image description here

它很接近但并不完美。

enter image description here

2 个答案:

答案 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;
}