0

LinearLayout/ layout_weightorを試してみましRelativeLayoutたが、レイアウトを意図したとおりに動作させることができませんでした。

やりたいことは、TextViews横に2つ並べて間に区切りを入れたレイアウトです。(含む) レイアウトの最大幅は一定ですが、それよりも小さい場合があります (ただし、大きくはなりません)。2 つの幅はTextViewsコンテンツによって異なりますが、すべてがこのレイアウトに収まるように上限も必要です。

これは、2 つのケースを視覚化したものです。

a) 両方ともTextViewsレイアウト コンテナーに収まり、その間に区切り文字を入れて並べる必要があります。以下では、含まれるレイアウトは外側の括弧で定義され、よりも大きくなる場合がありますTextViews

[[abcdefgs][delim][12334345]             ]

(コンテナ) レイアウトの幅はwrap_contentまたはfill_parent

b) どちらTextViewsも、レイアウト コンテナーの (最大) 幅に収まりません。次に、レイアウト内に (最大幅で) 均等に配置する必要があります。のテキストはTextViews切り捨てられます。

 ..... 50% .....         ..... 50% .....
[[abcdefghijk...][delim][123456789012...]]

誰かがこれを達成する方法を知っていますか?

4

1 に答える 1

0

これがあなたが望むものかどうかはわかりませんが(質問があいまいであるため)、このレイアウトが役立つかどうかを確認してください:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ellipsize="end"
            android:text="TextView" />

        <View
            android:layout_width="2dp"
            android:layout_height="fill_parent"
            android:background="#99cc00" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ellipsize="end"
            android:text="TextView" />
    </LinearLayout>

    <View
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1" />

</LinearLayout>

ここでView、2 つの間のTextViewsは区切り文字を表します。2 つにさらにテキストを挿入してTextView、それらが占めるスペースを確認します。

于 2012-05-29T20:19:44.383 に答える