0

テキストが大きくなるとすぐにレイアウトが範囲外になるという問題に直面しています。TextViews

以下はコードです

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Home" >

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="25dp" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:id="@+id/call_log_layout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="#00ccff"
            android:clickable="true"
            android:padding="20dp" >

            <TextView
                android:id="@+id/textView19"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="@string/call_log"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#ffffff" />
        </LinearLayout>

        <RelativeLayout
            android:id="@+id/relativeLayout4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/call_log_layout"
            android:layout_alignParentRight="true"
            android:layout_marginTop="10dp"
            android:background="#993399" >

            <TextView
                android:id="@+id/recent_activities_titles"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:text="@string/recent_activities"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#ffffff" />

            <TableLayout
                android:id="@+id/recent_activities_table"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/recent_activities_titles" >

                <TableRow
                    android:id="@+id/r_new_lead_row"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp" >

                    <TextView
                        android:id="@+id/textView20"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:text="@string/r_new_lead"
                        android:textColor="#ffffff"
                        android:textSize="12sp" />

                    <TextView
                        android:id="@+id/new_lead_name"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dp"
                        android:text="Michell"
                        android:textColor="#ffffff"
                        android:textSize="12sp" />
                </TableRow>

                <TableRow
                    android:id="@+id/r_new_account_row"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp" >

                    <TextView
                        android:id="@+id/textView21"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:text="@string/r_new_account"
                        android:textColor="#ffffff"
                        android:textSize="12sp" />

                    <TextView
                        android:id="@+id/r_new_account_name"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dp"
                        android:text="Donna"
                        android:textAppearance="?android:attr/textAppearanceSmall"
                        android:textColor="#ffffff"
                        android:textSize="12sp" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow13"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="5dp" >

                    <TextView
                        android:id="@+id/textView22"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:text="@string/r_new_event"
                        android:textAppearance="?android:attr/textAppearanceSmall"
                        android:textColor="#ffffff"
                        android:textSize="12sp" />

                    <TextView
                        android:id="@+id/textView23"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dp"
                        android:text="Meeting with some people I have never seen befpre"
                        android:textAppearance="?android:attr/textAppearanceSmall"
                        android:textColor="#ffffff"
                        android:textSize="12sp" />
                </TableRow>
            </TableLayout>
        </RelativeLayout>
    </RelativeLayout>

</ScrollView>

</RelativeLayout>

ご覧のとおり、ネストされたレイアウトが多数あります。これは、大規模なプログラムの一部しか表示されないためです。したがって、ネストされたレイアウトは問題になりません。

textView23、「会議」のような小さなテキストを入れると、UI 出力は次のようになります。

ここに画像の説明を入力

これは私が必要とする正しい出力です。

しかし、大きなテキストを入れると、出力は次のようになります

ここに画像の説明を入力

ご覧のとおり、それは範囲外であり、他のレイアウトのスペースを追い越しさえしています。だけでなく、textview23他のものでも同じ問題が発生しtextviewsます。

私の質問は、テキストの長さに関係なく、レイアウトを最初の画像として保持するにはどうすればよいですか?

Max Widthこれは複数の画面用であり、多くの問題が発生するためです。

たぶん、テキストが長すぎる場合は、マーキーしますか? または、テキストビューのレイアウトが表示できるものを表示し、ユーザーがテキストビューを左にスワイプしたときに残りを表示するだけですか? その他の方法で?これらを機能させる方法がわかりません。

4

3 に答える 3

1

複数の解像度とサイズで動作させたい場合は、

より良い方法は、テキストの長さを制限し、最後にマーキーを表示することです。

このようなもの

android:maxLength="10" 
android:ellipsize="marquee"
于 2013-10-29T12:26:57.933 に答える
0

これを試して..

ScrollViewremoveの内部でRelativeLayoutreplace withLinearLayout

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="25dp" >

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

//Your Remaining Content

</LinearLayout>

それからあなたの RelativeLayout relativeLayout4

なので

<RelativeLayout
            android:id="@+id/relativeLayout4"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/call_log_layout"
            android:layout_alignParentRight="true"
            android:layout_marginTop="10dp"
            android:background="#993399" >
于 2013-10-29T11:36:07.517 に答える
0

幅属性 - wrap_content を入れたために発生しています

最初に固定幅を定義します。たとえば、100 dp でプロパティ maxLine = 1、および ellipsize = end を設定します。

たとえば、あなたのコードで:-

<TextView
                    android:id="@+id/textView23"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:text="Meeting with some people I have never seen befpre"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="#ffffff"
                    android:textSize="12sp" />

これを使って :-

<TextView
                    android:id="@+id/textView23"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:text="Meeting with some people I have never seen befpre"
                    android:ellipsize="end"
                    android:maxLines="1"    
                    android:singleLine="true"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="#ffffff"
                    android:textSize="12sp" />

ellipsize は、テキストが textview の指定された幅よりも大きい場合、画面の間に「...」を配置し、「...」の後のテキストは切り取られます。

于 2013-10-29T11:54:04.867 に答える