28

私はかなり単純な ListView 行を持っています:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
    android:id="@+id/tournament_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:textSize="25dp" />

<TextView
    android:id="@+id/tournament_winner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:textSize="25dp" />

</RelativeLayout>

のテキスト"@+id/tournament_name"が長い場合 - のテキストと重なってしまい、その"@+id/tournament_winner"理由がわかりません。

使っandroid:singleLine="false"てみましたが駄目でした。android:inputType="textMultiLine"また、ドキュメントが非推奨であると言うように使用しようとしましたandroid:singleLine="false"が、警告が表示されます:Attribute android:inputType should not be used with <TextView>: Change element type to <EditText> ?ここでもダメです。

私も使ってみandroid:ellipsize="end"ましたが、これはうまくいきません。左のテキストが のTextView ("@+id/tournament_name")全幅を埋めるのに十分な長さではないためだと思いますListView(コードはここでは播種されていません)。

android:layout_width="wrap_content"2 つの TextView フィールドを使用する場合、重複してはいけないと確信していました。

以下に例を示します (2 行目を参照)。

ここに画像の説明を入力

これを修正する方法についてさらにアイデアはありますか?

4

3 に答える 3

49
    android:layout_toLeftOf="@id/tournament_winner" in First TextView.

また、設定するandroid:maxLines="1"Fix width for tournament winner大会名が長くなると見づらくなるので...

行.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/tournament_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/tournament_winner"
        android:maxLines="1"
        android:text="NAMEEEEEEEEEEEEEEEEEEEEEEEEEEE"
        android:textSize="25dp" />

    <TextView
        android:id="@+id/tournament_winner"
        android:layout_width="wrap_content" android:layout_marginLeft="10dp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="WINER"
        android:textSize="25dp" />

</RelativeLayout>
于 2012-06-23T09:59:25.023 に答える
11

ご回答ありがとうございます。返信に時間がかかって申し訳ありません。私はあなたを使用することandroid:layout_toLeftOf="@+id/tournament_winner"になりましたが、結果が私にとって完璧に見えたので、単一行と左の余白を未使用のままにしました(これが他のデバイスにも当てはまることを願っています).

ただし、最初のテキスト ビュー (tournament_name) では、追加された+に注意して使用する必要がandroid:layout_toLeftOf="@+id/tournament_winner"ありました。何らかの理由で、次を使用してエラーが発生します:エラー:指定された名前に一致するリソースが見つかりません...したがって、システムが以前にそれを認識していないため、呼び出し時にリソースを定義することが可能であり、必要であると思われます定義されました。android:layout_toLeftOf="@id/tournament_winner"android:layout_toLeftOf="@id/tournament_winner"

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
    android:id="@+id/tournament_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/tournament_winner"            
    android:layout_alignParentLeft="true"        
    android:textSize="25dp" />

<TextView
    android:id="@+id/tournament_winner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"         
    android:layout_alignParentRight="true"
    android:textSize="25dp" />

</RelativeLayout>
于 2012-07-21T18:17:44.753 に答える
-3

2 つのテキスト ビューの代わりに 1 つのテキスト ビューを使用して、両方の文字列を 1 つのテキスト ビューに表示できます。

于 2016-06-30T06:16:19.117 に答える