我的ListView项目中有一个TextView(第二个)。当用户侧面的文本不符合所需的maxHeight(250dp)时,用户应该能够水平滚动它。我尝试使用HorizontalScrollView,但似乎不起作用。有人解决我的问题吗? (这些项目被设计为卡片,因此层次结构可能看起来很奇怪)
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
android:descendantFocusability="blocksDescendants"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="10dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:background="@drawable/card_background_selector"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants"
android:paddingBottom="15dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="15dp">
<RelativeLayout
android:layout_width="255dp"
android:layout_height="61dp"
android:descendantFocusability="blocksDescendants">
<TextView
android:id="@+id/question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginRight="5dp"
android:text="1248$"
android:textColor="#000000"
android:textSize="18sp"
android:textStyle="bold" />
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true">
<TextView
android:id="@+id/answer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:maxWidth="250dp"
android:scrollHorizontally="true"
android:scrollbars="horizontal"
android:singleLine="true"
android:text="Some looooooooooooooooooooooooooooong Text"
android:textColor="#000000"
android:textSize="15sp" />
</HorizontalScrollView>
</RelativeLayout>
</FrameLayout>
答案 0 :(得分:0)
您可以在不使用ScrollView的情况下滚动到TextView,您可以添加
android:scrollbars = "Horizontal"
到您的TextView,然后在您的代码中添加
yourTextView.setMovementMethod(new ScrollingMovementMethod());
答案 1 :(得分:0)
我不确定这是否是这样做的正确方法。但以下两种方法对我有同样的要求。
或者
LinearLayout.LayoutParams widthHeightParams = new LinearLayout.LayoutParams(20,2000);
mTextView.setLayoutParams(widthHeightParams);
试一试