android studio - 안드로이드 TextView 텍스트 포장되지 점점




12 Answers

나는 그것을 스스로 고쳤다. 핵심은 android:width="0dip"

<LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="4dip"
    android:layout_weight="1">

    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="4dip">

        <TextView
            android:id="@+id/reviewItemEntityName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/maroon"
            android:singleLine="true"
            android:ellipsize="end"
            android:textSize="14sp"
            android:textStyle="bold"
            android:layout_weight="1" />

        <ImageView
            android:id="@+id/reviewItemStarRating"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true" />
        </LinearLayout>

        <TextView
            android:id="@+id/reviewItemDescription"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="12sp"
            android:width="0dip" />

    </LinearLayout>

    <ImageView
        android:id="@+id/widget01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/arrow_nxt"
        android:layout_gravity="center_vertical"
        android:paddingRight="5dip" />

</LinearLayout> 

edittext java

누구나 텍스트에 무슨 문제가 있는지 말해 줄 수 있습니까? 한 줄 넘는 텍스트는 다음 줄로 넘어 가지 않고 화면을 넘습니다.

다음은 코드입니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:padding="4dip">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:padding="4dip">

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:orientation="horizontal" 
            android:padding="4dip">
            <TextView 
                android:id="@+id/reviewItemEntityName"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:text="event/venue" 
                android:textColor="@color/maroon"
                android:singleLine="true" 
                android:ellipsize="end" 
                android:textSize="14sp"
                android:textStyle="bold" 
                android:layout_weight="1" />

            <ImageView 
                android:id="@+id/reviewItemStarRating"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_alignParentBottom="true"
                android:src="@drawable/title_1_star" />
        </LinearLayout>

        <TextView 
            android:id="@+id/reviewItemDescription"
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:text="Description comes here" 
            android:textSize="12sp" 
            android:layout_weight="1"/>
    </LinearLayout>
</LinearLayout>



2 개의 매개 변수를 사용해야합니다.

  • android:ellipsize="none" : 텍스트가 텍스트보기 너비에서 잘리지 않습니다.

  • android:scrollHorizontally="false" 텍스트는 필요한만큼 줄 바꿈됩니다.




TableLayout>TableRow>TextView 사용할 때 이러한 솔루션을 사용할 수 없습니다. 나는 TableLayout.shrinkColumns="*" 을 발견했다. 유일한 다른 해결책은 TextView를 layout_width:250px 등으로 강제하는 것이었지만 나는 그런 폭을 강요하는 것을 좋아하지 않는다.

테이블 작업을하는 경우 이와 같은 것을 시도해보십시오.

            <TableLayout 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:shrinkColumns="*">

참고 : shrinkColumns="*"

이는 분명 <LinearLayout> 내에 있습니다. 그래서 <LinearLayout> <TableLayout> <TableRow> <TextView>

참고 문헌 :

TableLayout

http://code.google.com/p/android/issues/detail?id=4000

희망은 누군가를 돕습니다.




내 경우에 대한 입력 형식을 제거 트릭, 안드로이드를 사용했다 : inputType = "textPostalAddress"내 textview 한 줄에 붙어 있었고이 문제를 해결이 배치 제거하지 않았습니다.




텍스트보기의 높이를 android:minHeight="some pixes" 또는 android:width="some pixels" . 문제를 해결할 것입니다.




즉 높이를 늘리십시오. android : height = "약간의 크기", 그것은 나를 위해 잘 작동합니다.




디스플레이의 특정 레이아웃 조합에 달려 있다고 생각합니다. 일부 플래그는 무시되거나 무시 될 수 있습니다. 탭이있는 TabHost가 있고 각 탭은 테이블 목록입니다. 그래서 ListView의 탭입니다. 각 행은 TextView의 TableLayout입니다. 위에 나열된 픽스를 시도했지만 그 중 아무 것도 작동하지 않았습니다.




나도 알아, 그게 문제가 올바른지, 내 경우에는 문제가 'dp'에서 textSize 속성을 설정했다 - 나는 그것을 'sp'로 변경했습니다 그리고 그것은 잘 작동합니다.




필자는 TableRow > ScrollView > TextView 중첩을 사용하여 android:layout_widthTableRow fill_parent 로 설정하고 ScrollViewTextView wrap_content 를 설정하여 문제를 해결했습니다.




드디어이 문제를 해결하기 위해 TextView 높이에 픽셀을 추가했습니다.

먼저 TextView의 높이를 실제로 가져와야합니다. 그것은 이미 그려지기 전에 그것이 0이기 때문에 간단하지 않습니다.

onCreate에 다음 코드를 추가하십시오.

mReceiveInfoTextView = (TextView) findViewById(R.id.receive_info_txt);
if (mReceiveInfoTextView != null) { 
    final ViewTreeObserver observer = mReceiveInfoTextView.getViewTreeObserver();
    observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            int height = mReceiveInfoTextView.getHeight();
            int addHeight = getResources().getDimensionPixelSize(R.dimen.view_add_height);
            mReceiveInfoTextView.setHeight(height + addHeight);

            // Remove the listener if possible
            ViewTreeObserver viewTreeObserver = mReceiveInfoTextView.getViewTreeObserver();
            if (viewTreeObserver.isAlive()) {
                viewTreeObserver.removeOnGlobalLayoutListener(this);
            }
        }
    });
}

이 줄을 dimens.xml 에 추가해야합니다.

<dimen name="view_add_height">10dp</dimen>

희망이 도움이됩니다.




내 문자열 중간에 \ n을 추가했는데 괜찮아 보였다.




텍스트를 줄 바꿈하고 다음 줄에 텍스트를 넣으려면 레이아웃 xml 파일에서 "\ n"즉 줄 바꿈 문자를 사용하고 레이아웃 화면이 아닌 에뮬레이터에서 tht 변경을 확인하십시오.




Related

android textview