我正在尝试构建一个在GridView
中显示RelativeLayout
的应用程序小部件(大学时间表):
widget_layout.xml :
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent" >
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/view_grid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="false"
android:layout_alignParentEnd="false"
android:layout_below="@+id/layout_days"
android:layout_marginBottom="12dp"
android:background="@color/border"
android:horizontalSpacing="2dp"
android:isScrollContainer="false"
android:nestedScrollingEnabled="false"
android:numColumns="5"
android:padding="2dp"
android:verticalSpacing="2dp" />
</RelativeLayout>
里面的物品看起来像这样:
lesson_layout.xml :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/lesson_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/ic_notify"
android:layout_width="14dp"
android:layout_height="14dp"
... />
<TextView
android:id="@+id/txt_course"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...></TextView>
<TextView
android:id="@+id/txt_room"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
.../>
<TextView
android:id="@+id/txt_prof"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
.../>
</RelativeLayout>
因此,如果应用程序小部件的高度完全适合GridViews的高度,则看起来不错:
(顶部的Mo-Fr栏只是GridView上方的水平LinearLayout)
但是,如果我调整应用程序小部件的高度,则GridView 不会重新调整高度,只需添加滚动条即可。
我看到了一些以编程方式扩展GridView的解决方案,但是由于我正在构建 widget ,因此我只能使用RemoteViews方法和XML。 我只是希望GridView的行高适合小部件的高度。
有解决方案吗?