我有一个带有图像按钮和Textview的GridView的视图,但是当多行的文本视图没有排列时,如下所示。我可以将TextView设置为
android:singleLine="true"
但我不愿意。
GridView代码:
<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>
如果您有任何建议,我会很感激。谢谢。
答案 0 :(得分:1)
解决方案如下
<?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>
答案 1 :(得分:0)
只需将textviews布局宽度设置为包装内容,将重力设置为中心,并设置android:singleLine =“false”。您可以按预期获得。请尝试以下代码:
<?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" />