我创建了一个自定义gridview,这是我的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,但是它不起作用,帮助我,我是初学者:(
答案 0 :(得分:2)
由于图像尺寸的原因,这种情况很糟糕。 FrameLayout
正在ImageView
。将ImageView
hight设置为与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>