0

我有一个 Gridveiew。在我通过的 GridView 的 getView 中,一个 RelativeLayout(包含图像视图和文本视图作为其子项)。我希望 textview 的文本水平滚动,因为它太长了。这是我的xml。但 textview 不滚动

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:clickable="false">
    <ImageView 
        android:id="@+id/theme_preview"
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"
        android:scaleType="fitXY" />
    <TextView 
        android:id="@+id/theme_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/theme_preview"
        android:layout_centerHorizontal="true"
        android:lines="1"
        android:ellipsize="marquee"
        android:scrollHorizontally="true"
        android:marqueeRepeatLimit="marquee_forever"
        />
</RelativeLayout>
4

3 回答 3

2

将此属性添加到您的TextView

android:scrollHorizontally="true"

或者,如果您想在代码中执行此操作:

textView.setHorizontallyScrolling(true);
于 2012-06-27T08:45:28.320 回答
0

尝试使用这个,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="70dp"
        android:layout_height="fill_parent" >

        <ImageView
            android:id="@+id/item_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:gravity="center_vertical|center_horizontal"
            android:layout_marginTop="14dp"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/item_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/item_image"
            android:layout_below="@+id/item_image"
            android:scrollHorizontally="true"
            android:singleLine="true"
            android:freezesText="false"
            android:selectAllOnFocus="false"
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="marquee_forever"
            android:gravity="center_vertical|center_horizontal"
            android:textAppearance="?android:attr/textAppearanceMedium" />

    </RelativeLayout>

在您的 GridView 适配器类中设置您的 textview.setSelected(true)

 holder.txtTitle = (TextView) row.findViewById(R.id.item_text); 
 holder.txtTitle.setSelected(true); 
于 2015-01-29T06:30:53.623 回答
0
Try Using this,   



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


                <ImageView 
                    android:id="@+id/theme_preview"
                    android:layout_width="match_parent" 
                    android:layout_height="wrap_content"
                    android:scaleType="fitXY" />
     <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
                <TextView 
                    android:id="@+id/theme_name"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/theme_preview"
                    android:layout_centerHorizontal="true"
                    android:lines="1"
                    android:ellipsize="marquee"
                    android:scrollHorizontally="true"
                    android:marqueeRepeatLimit="marquee_forever"
                    />
    </HorizontalScrollView>
            </RelativeLayout>
于 2012-06-27T09:06:26.687 回答