CustomGridview 与 FrameLayout 问题
CustomGridview with FrameLayout problems
我创建了一个自定义网格视图,这是我的 custom_gridview.xml :
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/framelayout"
android:layout_width="125dp"
android:layout_height="125dp">
<ImageView
android:scaleType="fitXY"
android:id="@+id/imageViewGrid"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
style="@style/shadowText"
android:id="@+id/textViewGrid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom"
android:text="test" />
</FrameLayout>
这里是 activity_main.xml :
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="com.example.manhtuan.bai2xemanh.MainActivity">
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:numColumns="3"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
gridview 将显示如下:
Image
我想让每个图像都显示为正方形,所以我将 Framelayout 的宽度和高度设置为 125dp 以上,但它不起作用,帮助我,我是初学者:(
这是由于图像大小造成的。 FrameLayout
正在取 ImageView
的高度。将 ImageView
高度设置为与 FrameLayout
相同,如下所示 -
<FrameLayout android:id="@+id/framelayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="125dp"
android:layout_height="125dp">
<ImageView
android:id="@+id/imageViewGrid"
android:layout_width="125dp"
android:layout_height="125dp"
android:scaleType="fitXY"
android:src="@color/colorAccent"/>
<TextView
android:id="@+id/textViewGrid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom"
android:text="test"/>
</FrameLayout>
我创建了一个自定义网格视图,这是我的 custom_gridview.xml :
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/framelayout"
android:layout_width="125dp"
android:layout_height="125dp">
<ImageView
android:scaleType="fitXY"
android:id="@+id/imageViewGrid"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
style="@style/shadowText"
android:id="@+id/textViewGrid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom"
android:text="test" />
</FrameLayout>
这里是 activity_main.xml :
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="com.example.manhtuan.bai2xemanh.MainActivity">
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:numColumns="3"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
gridview 将显示如下: Image
我想让每个图像都显示为正方形,所以我将 Framelayout 的宽度和高度设置为 125dp 以上,但它不起作用,帮助我,我是初学者:(
这是由于图像大小造成的。 FrameLayout
正在取 ImageView
的高度。将 ImageView
高度设置为与 FrameLayout
相同,如下所示 -
<FrameLayout android:id="@+id/framelayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="125dp"
android:layout_height="125dp">
<ImageView
android:id="@+id/imageViewGrid"
android:layout_width="125dp"
android:layout_height="125dp"
android:scaleType="fitXY"
android:src="@color/colorAccent"/>
<TextView
android:id="@+id/textViewGrid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom"
android:text="test"/>
</FrameLayout>