[英]Horizontal Scrollview containing a LinearLayout with a Listview
我有一个LinearLayout,它的层次结构如下所示: HorizontalScrollview
作为根,它包含一个垂直LinearLayout
,在其内部包含一个水平LinearLayout
作为标题(由TextViews
制成)和一个ListView
在下面。
基本上,这个想法是提供一个水平滚动(因为ListView已经具有其垂直滚动)。 我几乎明白了,问题是ListView的宽度不能足够容纳内容。
这是布局的代码:
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/hscrollMain"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:text="@string/fecha"
android:textStyle="bold" />
<TextView
android:id="@+id/tvFechaDet"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="@string/tipo"
android:textStyle="bold" />
<TextView
android:id="@+id/tvTipoEvtDet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/descripcion"
android:textStyle="bold" />
</LinearLayout>
<ProgressBar
android:id="@+id/pbEventListing"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:indeterminate="true"
android:visibility="gone" />
<ListView
android:id="@+id/lvEventos"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
</HorizontalScrollView>
我在列表项的自定义布局中使用了自定义ArrayAdapter,代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/tvFechaEvtItem"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:text="@string/fecha" />
<ImageView
android:id="@+id/ivEstadoEvtItem"
android:layout_width="50dp"
android:layout_height="50dp"
android:contentDescription="@string/estado"
android:scaleType="fitXY"
android:src="@drawable/ic_warning" />
<TextView
android:id="@+id/tvTipoEvtItem"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:text="@string/tipo" />
<TextView
android:id="@+id/tvDescEvtItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:text="@string/descripcion" />
</LinearLayout>
PD:是的,我最后一次将xD弄乱了,所以我成功地用SO编辑器格式化了代码。
可能您已将第一个LinearLayout宽度设置为自动换行内容。 尝试将其更改为match_parent
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/hscrollMain"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.