0

動的にロードされる Android のリストビューがあります。リストビューは画像を保持し、理想的には画像の高さの 20% を占める画像の説明を表示します。リストの画像ビューの上にあるテキストビューが画像の最大高さ 20% を占めているかどうかを確認するにはどうすればよいですか?

ここに画像の説明を入力

スクリーンショットからわかるように、「Harvey's - - check in for a chance to win a freeburger Picker, ON」がテキスト ビューに 2 行で収まっています。見栄えが悪い。それを止める必要があるので、テキストビューでオーバーフローした場合は文字列を切り詰める必要があると判断しました。

テキストビューの文字列を切り捨てて、イメージビューの高さの 20% に達したらイメージの説明が「...」で終わるようにするにはどうすればよいですか?

現時点で持っているxmlを以下に示します。com.parse.myPackage.AspectRatioImageView は、imageview の単なるカスタム ビューであることに注意してください。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFFFF" >

<com.parse.myPackage.AspectRatioImageView
    android:id="@+id/campaignImageLabel"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    android:src="@drawable/blank" />

<FrameLayout
    android:id="@+id/frameLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/frameLayout2"
    android:layout_alignParentLeft="true"
    android:background="@color/fadedBlack">

        <TextView
            android:id="@+id/campaignNameLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Loading..."
            android:layout_marginLeft="10dp"
            android:textColor="@color/white"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="bold" />



</FrameLayout>

<FrameLayout
    android:id="@+id/frameLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/campaignImageLabel"
    android:layout_alignParentLeft="true"
    android:background="@color/fadedBlack">

        <TextView
        android:id="@+id/campaignLocationLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:text="Location Loading..."
        android:textColor="@color/white"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textStyle="bold" />
</FrameLayout>

4

1 に答える 1

0

使用できます:

android:ellipsize="end" 
android:maxLines="1"

あなたandroid:maxLines="1"の仕事をするなら、あなたは試すことができますAndroid:singleLine="true"

于 2013-11-19T14:11:11.503 に答える