我有两排"按钮"它由LinearLayout
和ImageView
的垂直TextView
组成。我现在遇到的问题是尝试设置ImageView
宽高比而不对其尺寸进行硬编码。
我已经尝试过使用布局权重,但它仍然会强制TextView被部分切断。
我拥有的xml结构是2个水平LinearLayouts
,每个按钮如上所述。
我已经包含了我的问题图片。您可以看到第一个按钮强制TextView
超出范围。您看到的其余按钮都是硬编码尺寸,但我不想这样做,因为较小的屏幕尺寸不会起作用。
这是我的一个按钮的布局:
<LinearLayout
android:gravity="center_horizontal"
android:layout_weight="1"
android:padding="5dp"
android:orientation="vertical"
android:layout_width="0dip"
android:layout_height="match_parent">
<ImageView
android:id="@+id/setting_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:background="@null"
android:clickable="true"
android:onClick="openSettings"
android:src="@drawable/menu" />
<TextView
android:id="@+id/setting_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Settings"
android:textAlignment="center"
android:textColor="@android:color/white"
android:autoSizeTextType="uniform" />
</LinearLayout>
答案 0 :(得分:0)
尝试使用尺寸较小的图像。
答案 1 :(得分:0)
尝试使用RelativeLayout并将TextView设置为图像的锚点:
<RelativeLayout
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="5dp">
<TextView
android:id="@+id/setting_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:text="Settings"
android:textAlignment="center"
android:textColor="@android:color/white"
android:autoSizeTextType="uniform" />
<ImageView
android:id="@+id/setting_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_above="@id/setting_text"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:background="@null"
android:clickable="true"
android:onClick="openSettings"
android:src="@drawable/menu" />
</RelativeLayout>