在android studio中,当我尝试添加更多卡并将布局更改为scrollview时,窗口而不是滚动将卡缩小以适合同一窗口中的整个网格,而我希望它滚动并显示两个所有卡中的图像视图和文本视图均清晰可见(图像视图下方的文本视图)
我知道我缺少一些非常基本的东西,但无法通过。请帮助。 这是我的XML代码,
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/jhyti"
android:weightSum="10"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_weight="2"
android:layout_height="0dp">
<ImageView
android:id="@+id/imageView1"
android:layout_width="294dp"
android:layout_height="89dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="46dp"
android:gravity="center_vertical"
android:src="@drawable/logo" />
</RelativeLayout>
<GridLayout
android:columnCount="2"
android:rowCount="3"
android:alignmentMode="alignMargins"
android:columnOrderPreserved="false"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8"
android:padding="14dp">
<!--ROW 1 - -!>
<!- -CARD 1-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 1"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--CARD 2-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 2"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--ROW 2 - -!>
<!- -CARD 1-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 3"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--CARD 2-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock4" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 4"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--ROW 3 - -!>
<!- -CARD 1-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 5"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--CARD 2-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock6" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 6"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--ROW 7 - -!>
<!- -CARD 1-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 7"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--CARD 2-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 2"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
</GridLayout>
</LinearLayout>
</ScrollView>
答案 0 :(得分:0)
从weight
和Relative
中删除GridLayout
。
将高度设置为android:layout_height="wrap_content"
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/jhyti"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageView1"
android:layout_width="294dp"
android:layout_height="89dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="46dp"
android:gravity="center_vertical"
android:src="@drawable/logo" />
</RelativeLayout>
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alignmentMode="alignMargins"
android:columnCount="2"
android:columnOrderPreserved="false"
android:padding="14dp">
<!--ROW 1 - -!>
<!- -CARD 1-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_columnWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_rowWeight="1"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 1"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--CARD 2-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_columnWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_rowWeight="1"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 2"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--ROW 2 - -!>
<!- -CARD 1-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_columnWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_rowWeight="1"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 3"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--CARD 2-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_columnWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_rowWeight="1"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock4" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 4"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--ROW 3 - -!>
<!- -CARD 1-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_columnWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_rowWeight="1"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 5"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--CARD 2-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_columnWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_rowWeight="1"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock6" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 6"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--ROW 7 - -!>
<!- -CARD 1-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_columnWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_rowWeight="1"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 7"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!--CARD 2-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="120dp"
android:layout_columnWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_rowWeight="1"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@drawable/stock2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CHAPTER 2"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="12sp"
android:textStyle="bold|italic" />
</LinearLayout>
</android.support.v7.widget.CardView>
</GridLayout>
</LinearLayout>
</ScrollView>