我希望卡片在各种屏幕尺寸时都可以填满整个屏幕。我想使用权重或任何其他可以做同样的选项。
<!--Card 1-->
<android.support.v7.widget.CardView
android:id="@+id/cardView1"
android:layout_height="200sp"
android:layout_width="150sp">
</android.support.v7.widget.CardView>
<!--Card 2-->
<android.support.v7.widget.CardView
android:id="@+id/cardView2"
android:layout_height="200sp"
android:layout_width="150sp">
</android.support.v7.widget.CardView>
<!--Card 3-->
<android.support.v7.widget.CardView
android:id="@+id/cardView3"
android:layout_height="200sp"
android:layout_width="150sp">
</android.support.v7.widget.CardView>
<!--Card 4-->
<android.support.v7.widget.CardView
android:id="@+id/cardView4"
android:layout_height="200sp"
android:layout_width="150sp">
</android.support.v7.widget.CardView>
</GridLayout>
答案 0 :(得分:0)
为此,您必须动态设置gridview的高度。 在您的Activity类中定义。
public static int heighth;
public static int width;
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
widthh = metrics.widthPixels;
heighth = metrics.heightPixels;
然后在你的gridview适配器类中编写
gridView.setMinimumHeight((Home.heighth)/3-70);
此处主页是您的活动类Home.java
。我除以3是因为我只有3行而减去70只是为了调整视图。希望它有所帮助!
答案 1 :(得分:0)
试试这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:weightSum="2">
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:weightSum="2">
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
这可能会在非常旧的设备上造成一些性能问题,但在新设备上应该不会出现问题。 此外,只需在卡片周围添加一些边距即可显示阴影 希望这会有所帮助。