0

I am making an android application and I was wondering how to achieve a coloured heading with an underline in android. The image below is what I want.

enter image description here

The code I have written so far:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".AddContact" >

    <TextView
        android:id="@+id/lbl_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:text="@string/heading_name" />

    <LinearLayout
        android:layout_width="337dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="6" >

        <EditText
            android:id="@+id/edit_first_name"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_weight="5"
            android:hint="@string/hint_firstname"
            android:inputType="textCapSentences" />

        <ImageButton
            android:id="@+id/addimage"
            android:layout_width="0dp"
            android:layout_height="58dp"
            android:layout_weight="1"
            android:background="@drawable/ic_social_person" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="337dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="5" >

        <EditText
            android:id="@+id/edit_last_name"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_weight="4"
            android:hint="@string/hint_lastname"
            android:inputType="textCapSentences" />
    </LinearLayout>

    <TextView
        android:id="@+id/lbl_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/heading_number" />

    <LinearLayout
        android:layout_width="337dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="3" >

        <EditText
            android:id="@+id/edit_number"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_weight="2"
            android:hint="@string/hint_number"
            android:inputType="number" />

        <Spinner
            android:id="@+id/contact_number_spinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

    <TextView
        android:id="@+id/lbl_email"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/heading_email" />

    <LinearLayout
        android:layout_width="337dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="3" >

        <EditText
            android:id="@+id/edit_email"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_weight="2"
            android:hint="@string/hint_email"
            android:inputType="textEmailAddress" />

        <Spinner
            android:id="@+id/contact_email_spinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

    <TextView
        android:id="@+id/lbl_address"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/heading_address" />

    <LinearLayout
        android:layout_width="337dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="3" >

        <EditText
            android:id="@+id/edit_address"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_weight="2"
            android:hint="@string/hint_address"
            android:inputType="textPostalAddress" />

        <Spinner
            android:id="@+id/contact_address_spinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

    <TextView
        android:id="@+id/lbl_event"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/heading_event" />

    <LinearLayout
        android:layout_width="337dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="3" >

        <EditText
            android:id="@+id/edit_date"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_weight="2"
            android:hint="@string/hint_date"
            android:inputType="date" />

        <Spinner
            android:id="@+id/contact_date_spinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

</LinearLayout>

Any help would be appreciated

4

4 回答 4

1

对于下划线文本在您的字符串资源文件中添加标签到这样的文本..

<resource>
 <string name="my_text"><u>This is an underline</u>.</string> 

为了在你的文本视图中改变文本颜色,添加这个标签设置你的颜色..

android:textColor="@android:color/holo_orange_light"
于 2013-10-17T10:03:51.707 回答
1

你可以用一个简单的彩色视图来实现一条线,如下所示:

  <View
    android:id="@+id/view1"
    android:layout_width="wrap_content"
    android:layout_height="1dip"
    android:background="your color" />
于 2013-10-17T10:04:09.240 回答
0

您可以使用字符串资源执行此 bu=y。它支持 HTML 标签,<b></b>, <i></i> and <u></u>. 如果你想给文本加下划线,请使用这个

textview.setPaintFlags(textview.getPaintFlags() |   Paint.UNDERLINE_TEXT_FLAG);

否则,

在您的资源文件夹中使用此代码

<resource>
<string name="your_string_here">This is an &lt;u>underline&lt;/u>.</string>

并在您的代码中使用它。

TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(String.format(getString(R.id.textview), ...)));
于 2013-10-17T10:07:33.837 回答
0

尝试这个 :

TextView textView = (TextView)findViewById(R.id.textview);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
textView.setText(content);
textview.settextcolor(Color.Red);

这将对您有所帮助。

于 2013-10-17T10:04:12.280 回答