ListView和TextView滚动问题

时间:2012-01-31 06:08:26

标签: android android-layout

在我的应用程序中,顶部包含ListView,底部包含TextView。我想自动滚动TextView中的文本。但它不滚动,我还提交了下面的布局xml代码

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

  <ListView android:id="@+id/android:list" 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_weight="1" /> 

   <TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:singleLine="true"
    android:scrollHorizontally="true"
    android:ellipsize="marquee"
    android:focusable="true"
    android:focusableInTouchMode="true" />
 </LinearLayout>

enter image description here

感谢您的解决方案

2 个答案:

答案 0 :(得分:1)

滚动问题的解决方案是在horizo​​ntalScrollview中添加文本视图。

当你将下面的textview添加到ListView时,如果listView高度超过设备高度,你将无法使用textView,所以我建议你将LinearView的LinearLayout父亲和LinearLayout和Horizo​​ntalScrollView的RelativeLayout父亲。让LinearLayouts Params为width-&gt; fill-Parent和layout-height = fill-parent,以及textView和Horizo​​ntalLayout的Params为width = fill-parent,height = wrap-content,并将bottom与父对齐。

按某些代码更新:

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

     <LinearLayout android:orientation="vertical"
                   android:layout_width="match_parent"
                   android:layout_height="match_parent"
                   android:descendantFocusability="blocksDescendants">

                   <ListView android:id="@+id/android:list" 
                   android:layout_width="fill_parent"
                   android:layout_height="wrap_content"
                   android:layout_weight="1"
                   android:layout_above="@+id/scrollView" />
     </LinearLayout> 

     <HorizontalScrollView android:id="@+id/scrollView" 
                           android:layout_width="fill_parent"
                           android:layout_height="wrap_content"
                           android:layout_align_parent_bottom="true">

                          <TextView  
                                     android:layout_width="wrap_conetent" 
                                     android:layout_height="wrap_content" 
                                     android:text="@string/hello"
                                     android:singleLine="true"
                                     />
     </HorizontalScrollView>
</RelativeLayout>

答案 1 :(得分:1)

在ListView中设置属性android:scrollingCache="true"

<ListView android:id="@+id/android:list" 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:scrollingCache="true"
   android:layout_weight="1" />