Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android两个文本视图,将它们对齐为一个段落_Android_User Interface_Textview_Alignment_Android Relativelayout - Fatal编程技术网

Android两个文本视图,将它们对齐为一个段落

Android两个文本视图,将它们对齐为一个段落,android,user-interface,textview,alignment,android-relativelayout,Android,User Interface,Textview,Alignment,Android Relativelayout,假设我有两个文本视图,一个标题和详细信息,详细信息是标题的结尾(同一行),虽然标题是一行,但详细信息可以是多行的,我的问题是,如何配置详细信息文本视图,当它开始一个新行时,与其将其与文本视图的前一行对齐,不如将其与标题文本视图对齐,从而创建段落感觉 请查看这些屏幕截图以了解我试图实现的目标(标题为粗体文本,详细信息如下): 所需的: 到目前为止我拥有的: 我能想到的唯一解决方案是对两者都使用一个textview,并用HTML格式化文本,但是如果我需要一个更大的文本大小作为标题怎么办 谢谢 是

假设我有两个
文本视图
,一个标题和详细信息,详细信息是标题的结尾(同一行),虽然标题是一行,但详细信息可以是多行的,我的问题是,如何配置详细信息
文本视图
,当它开始一个新行时,与其将其与
文本视图
的前一行对齐,不如将其与标题文本视图对齐,从而创建段落感觉

请查看这些屏幕截图以了解我试图实现的目标(标题为粗体文本,详细信息如下):

所需的

到目前为止我拥有的:

我能想到的唯一解决方案是对两者都使用一个
textview
,并用HTML格式化文本,但是如果我需要一个更大的文本大小作为标题怎么办


谢谢

是的,正如您所提到的,我还看到一个
TextView
,其中的文本具有不同的字符串大小/颜色

要实现这一点,您需要使用
SpannableString
-

还请检查此项以了解详细信息。

用于您的问题以分隔两个文本视图。

您可以使用

这就行了

 <TextView
    ..
    android:id="@+id/text_view"
    />
自定义方法

public  void setTextWithSpan(TextView textView, String text, String spanTextBold,String secondPartOfText,StyleSpan style) {

    SpannableStringBuilder sb = new SpannableStringBuilder(text);

    int start = text.indexOf(spanTextBold);
    int end = start + spanTextBold.length();
    sb.setSpan(style, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
    //sb.setSpan(new ForegroundColorSpan(Color.BLUE), start, end ,0); // if you need a color

    int startTwo = text.indexOf(secondPartOfText);
    int endTwo = startTwo + secondPartOfText.length();
    // sb.setSpan(new StyleSpan(Typeface.ITALIC),startTwo,endTwo , 0);
    sb.setSpan(new RelativeSizeSpan(0.8f), startTwo, endTwo, 0);

    textView.setText(sb);
}

您想使用单文本视图获取和输出像您的大图像一样的图像吗?这是我自己的例子,如果你喜欢,用它>@谁反对这个?为什么?如果出了什么问题,我可以解决
public  void setTextWithSpan(TextView textView, String text, String spanTextBold,String secondPartOfText,StyleSpan style) {

    SpannableStringBuilder sb = new SpannableStringBuilder(text);

    int start = text.indexOf(spanTextBold);
    int end = start + spanTextBold.length();
    sb.setSpan(style, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
    //sb.setSpan(new ForegroundColorSpan(Color.BLUE), start, end ,0); // if you need a color

    int startTwo = text.indexOf(secondPartOfText);
    int endTwo = startTwo + secondPartOfText.length();
    // sb.setSpan(new StyleSpan(Typeface.ITALIC),startTwo,endTwo , 0);
    sb.setSpan(new RelativeSizeSpan(0.8f), startTwo, endTwo, 0);

    textView.setText(sb);
}