我有一个GridView
我通过代码填充,问题是最后一行它不完全可见。我不知道为什么会发生这种情况,Activity
的布局非常简单:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<GridView
android:id="@+id/sectionGrid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:horizontalSpacing="0dp"
android:numColumns="1"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp">
</GridView>
</LinearLayout>
行的布局如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:pew="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/white" >
<ImageView
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_gravity="center"
android:scaleType="centerCrop"
android:id="@+id/sectionImage"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/sectionImage"
android:layout_alignLeft="@+id/sectionImage"
android:layout_alignStart="@+id/sectionImage"
android:background="@drawable/bg_section_row"
android:layout_alignBottom="@+id/sectionTitle"
android:layout_alignRight="@+id/sectionImage"
android:layout_alignEnd="@+id/sectionImage"
android:id="@+id/sectionBgView"></RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="@color/white"
android:scrollHorizontally="true"
android:ellipsize="end"
android:maxLines="1"
android:padding="10dp"
android:layout_alignBottom="@+id/sectionImage"
android:layout_alignLeft="@+id/sectionImage"
android:layout_alignStart="@+id/sectionImage"
android:layout_alignRight="@+id/sectionImage"
android:layout_alignEnd="@+id/sectionImage"
android:id="@+id/sectionTitle"/>
</RelativeLayout>
</LinearLayout>
我不确定它是否有关,但目前我正在使用以下主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
布局有什么问题?我错过了GridView
的任何财产吗?
答案 0 :(得分:1)
在GridView中 android:verticalSpacing 或 android:horizontalSpacing 仅在另一个单元格之间有间距时才有效。
即使对于第一个单元格,间距也不会应用于顶部,但只要绘制第二个单元格,verticalSpacing属性就会起作用,并且可以在单元格之间观察到间隙。
在这种情况下,底部单元格没有任何其他单元格显示在其下方,因此最后一个单元格看起来像是从底部切割。
尝试在行单元格中为LinearLayout提供填充 例如: android:paddingBottom =&#34; 5dp&#34;
答案 1 :(得分:0)
浪费了几个小时后,我在图书馆发现了这个问题,以便创建一个滑动菜单:
getaddrinfo()
我已将以下代码添加到我的BaseActivity中(每个活动都从此继承):
if(Build.VERSION.SDK_INT >= 21)
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
它成功了。问题似乎只发生在API&gt;设备上。 21