Android 带有 ImageButtons 和 TextViews 的 Gridview。 gridview 中的项目没有排队
Android Gridview with ImageButtons and TextViews. Items in gridview not lining up
我有一个视图,它有一个带有图像按钮和文本视图的 GridView,但是只要文本视图是多行的,项目就不会排列,如下所示。我可以将 TextView 设置为
android:singleLine="true"
但我不想这样做。
网格视图代码:
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:layout_weight="1" />
BaseAdapter 调用的 ImageButton 和 TextView 模板:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:id="@+id/MainMenuImageButton"
android:layout_alignParentRight="true"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/MainMenuTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="trebuchet"
android:layout_marginLeft="10dp"
android:textColor="@android:color/black"
android:singleLine="true"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
如果您有任何建议,我将不胜感激。谢谢。
只需将 textviews 布局宽度设置为环绕内容,将重力设置为中心并设置 android:singleLine="false"。您将获得 expected.Try 下面的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:id="@+id/MainMenuImageButton"
android:layout_alignParentRight="true"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/MainMenuTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="trebuchet"
android:layout_marginLeft="10dp"
android:gravity="center"
android:textColor="@android:color/black"
android:singleLine="false"
android:textSize="15sp"
android:textStyle="bold" />
解决方法如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:id="@+id/MainMenuImageButton"
android:layout_alignParentRight="true"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/MainMenuTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="trebuchet"
android:layout_marginLeft="10dp"
android:textColor="@android:color/black"
android:lines="2"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
我有一个视图,它有一个带有图像按钮和文本视图的 GridView,但是只要文本视图是多行的,项目就不会排列,如下所示。我可以将 TextView 设置为
android:singleLine="true"
但我不想这样做。
网格视图代码:
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:layout_weight="1" />
BaseAdapter 调用的 ImageButton 和 TextView 模板:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:id="@+id/MainMenuImageButton"
android:layout_alignParentRight="true"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/MainMenuTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="trebuchet"
android:layout_marginLeft="10dp"
android:textColor="@android:color/black"
android:singleLine="true"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
如果您有任何建议,我将不胜感激。谢谢。
只需将 textviews 布局宽度设置为环绕内容,将重力设置为中心并设置 android:singleLine="false"。您将获得 expected.Try 下面的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:id="@+id/MainMenuImageButton"
android:layout_alignParentRight="true"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/MainMenuTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="trebuchet"
android:layout_marginLeft="10dp"
android:gravity="center"
android:textColor="@android:color/black"
android:singleLine="false"
android:textSize="15sp"
android:textStyle="bold" />
解决方法如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:id="@+id/MainMenuImageButton"
android:layout_alignParentRight="true"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/MainMenuTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="trebuchet"
android:layout_marginLeft="10dp"
android:textColor="@android:color/black"
android:lines="2"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>