>

두 개의 TextView를 차례로 배치하는 레이아웃을 만들려고합니다. 가장 좋은 방법은 하나의 TextView를 대신 사용하고 문자열을 연결하고 어떻게 든 부분을 굵게 표시하는 것입니까?

현재 가중치를 사용하지 않으면 하나의 TextView가 찌그러 질 수있는 이상한 효과가 나타납니다.

내가 원하는 것의 예 :

<시간>

[첫 번째 텍스트보기][두 번째 텍스트보기]

<시간>

[첫 번째 텍스트보기는 실제로 실제로 실제로 실제로는 실제로 실제로 실제로는 실제로는 실제로는 실제로는 실제로는 실제로는 정말 길다는 것입니다][두 번째 텍스트보기]

<시간>

[첫 번째 텍스트보기][세컨드 텍스트보기는 실제로 실제로 실제로는 실제로 실제로는 실제로는 실제로는 실제로는 실제로는 실제로는 실제로는 실제로는 매우 긴]

<시간>

<LinearLayout
    android:id="@+id/Names"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentTop="true"
   android:layout_toRightOf="@+id/ivProfileImage"
    >
    <TextView
        android:layout_marginLeft="10dp"
        android:gravity="center"
        android:id="@+id/tvName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Namedsfsfsafsafsadfasfsadffddsfsfdsfdssafsafa fdsfds"
        android:textStyle="bold" />
    <TextView
        android:layout_marginLeft="10dp"
        android:gravity="left|center"
        android:id="@+id/tvUserName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="none"
        android:layout_weight="1"
        android:text="[email protected] dsfdsfsdfsdsdfdsfdsdsfsdfsfds" />
</LinearLayout>

이 레이아웃을 사용하면 텍스트보기가 본질적으로 레이아웃 너비의 절반을 차지하고 (텍스트가 길 때) 자연스럽게 흐르지 않습니다. 좀 이상해 보인다 :

[정말로 긴보기..... | [이 쪽의 측면도]

이렇게 헤어짐]........ |

  • 답변 # 1

    설명 된 바하 비르는 SpannableString 를 사용하여 달성 할 수 있습니다. 이 샘플에서 설명 된대로

    SpannableString styledString
      = new SpannableString("Large\n\n"     // index 0 - 5
           + "Bold\n\n"                     // index 7 - 11
           );   
     // make the text twice as large
     styledString.setSpan(new RelativeSizeSpan(2f), 0, 5, 0);
     // make text bold
     styledString.setSpan(new StyleSpan(Typeface.BOLD), 7, 11, 0);
     // use the created string 
     textView.setText(styledString);
    
    

    이 방법으로 하나의 TextView 를 사용하십시오  다른보기를 관리하지 않아도됩니다. 원하는대로 문자열을 처리 한 다음 TextView 에 표시하십시오.

관련 자료

  • 이전 jquery - yii2에서 문장 부호가있는 두 가지 값을 고유하게 유효성 검사하는 방법은 무엇입니까?
  • 다음 python - 육각 격자 모양으로 (x, y, z) 좌표를 그리는 방법은 무엇입니까?