0

次のような 2 つのテキストを表示するためのカスタム レイアウトを持つ ActionBAr の特定のタブ:

ここに画像の説明を入力

カスタム レイアウトは次のように定義されます。

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

    <TextView 
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="12sp"
        android:textColor="@color/LightBlue"
        android:ellipsize="marquee"
        android:maxLines="1"
        android:gravity="center"/>
    <TextView 
        android:id="@+id/text2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="12sp"
        android:textColor="@color/Yellow"
        android:gravity="center"/>

</LinearLayout>

text1 をより長い文字列に変更すると (この例では、より長い文字列は「TEMPORARYTEMPORARY」です)、次の 2 つのことが起こります。

  1. タブの幅が拡大され、他のタブが画面の外に押し出されますが、長い文字列が切り取られているため、タブの最大幅があるようです。
  2. 長い文字列が切り取られても、ellipsize 属性は効果がなく、マーキーもありません (ellipsize "end" を試しても効果がありません)。

ここに画像の説明を入力

タブを同じサイズのままにして、画面の幅を超えないようにしたいと思います。いずれにしても、ellipsize 属性を text1 で有効にしたいと考えています。

更新
epllipsize は、代わりに

android:maxlines="1"

私が使う

android:singleLine="true"

それでも、タブの幅は最大まで広げられ、右端のタブが画面から少しはみ出します。

4

1 に答える 1