0

我需要在一个文件中设置两个文本(Text1 和 Text2)。TextView以下是我的要求。

Text1 的字体大小应大于 Text2。

Text2 将低于 Text1。两者都居中对齐。

应给出 Text1 gravity: center 使其类似于其他布局。Text 2 将始终位于 Text1 下方

4

4 回答 4

0

你不能只用一个 TextView 来做到这一点。

基本上,一个 TextView 保留一个文本和该文本的一些属性。该属性应用于整个TextView,即应用于整个文本。如果您希望 Text1 和 Text2 具有不同的属性,则必须有两个 TextView。

最后,android 中的任何 UI 元素都由 xml 给出,在这种情况下,TexView 类似于:

<TextView android:text="@string/title" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#ffffd300"
            android:gravity="center_horizontal"
            android:textSize="40sp"
            android:id="@+id/textViewTitle"
            android:layout_gravity="center" />

在属性文本中,您将设置 Text1Text2。在这种情况下,我们使用@string/title,这意味着我们正在使用来自字符串资源的名为“title”的字符串。

参考:http: //developer.android.com/reference/android/widget/TextView.html

于 2015-07-18T14:30:59.067 回答
0

TextView不可能将两个文本组合成一个文本。它破坏了对TextView自己的尊重。

您将需要一个Vertical LinearLayout背景和边框类似于您的TextView. 在此布局中,您需要TextView分别为 text1 和 text2 设置两个 's。您可以将所需的属性应用于个人TextView

于 2015-07-18T14:46:54.763 回答
0

我仍然不清楚您的问题,您是否要同时显示两个文本?

如果您一次只显示一种“风格”,那么mayo的答案是正确的。您可以使用 switch 语句来实现它:

switch(textStyle){
    case 1: myTextView.setTextAppearance(getApplicationContext(), R.style.styleText1);
            break;
    case 2: myTextView.setTextAppearance(getApplicationContext(), R.style.styleText2);
            break
}

更多信息在这里

但是,如果您想同时显示两者,WebView 是您唯一的选择:

Webview wv;
//Specify Text1 and Text2 as strings.
String text = "<html><body style=\"font-size:25px;\">"+"<p align=\"center\">"+ Text1 +"</p>"+"<style=\"font-size:15px;\">"+"<p align=\"center\">"+ Text2 +"</p>"+"</body></html>";
wv.loadData(""+text, "text/html", "utf-8");
于 2015-07-20T06:16:39.293 回答
0

您可以在 Textview 中使用 html 代码

<TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textColor="@android:color/white"
        android:textSize="25sp" />

并在java文件中

TextView mTitle = (TextView) toolbar.findViewById(R.id.title);
        mTitle.setText(Html.fromHtml("<b>S T A C K </b><font color='white'>O V E R F L O W</font>"));
于 2015-08-26T06:51:08.757 回答