【发布时间】:2018-10-07 23:07:55
【问题描述】:
我有一个 GridLayout,里面有 6 个按钮:
当我尝试为按钮设置 drawableLeft 属性时,我有以下行为:
如何自动缩放drawable,让所有按钮都可见?
布局是:
<GridLayout
android:orientation="horizontal"
android:background="#AFAFAF"
android:layout_width="match_parent"
android:layout_margin="20dp"
android:columnCount="4"
android:rowCount="3"
android:layout_weight="10"
android:layout_height="0dp">
<Space
android:layout_column="0"
android:layout_columnWeight="1.5"
android:layout_row="0"
android:layout_rowWeight="1" />
<Space
android:layout_column="2"
android:layout_columnWeight="2"
android:layout_row="0"
android:layout_rowWeight="1" />
<Space
android:layout_column="3"
android:layout_columnWeight="1.5"
android:layout_row="0"
android:layout_rowWeight="1" />
<Button
android:id="@+id/PageHome_Learn"
android:layout_column="1"
android:layout_columnWeight="2"
android:layout_row="0"
android:layout_rowWeight="1"
android:drawableLeft="@drawable/MenuLearn"
android:layout_margin="@dimen/TextPadding"
android:text="@string/PageHome_LearnText"
style="@style/Button" />
<Button
android:id="@+id/PageHome_Piano"
android:layout_column="2"
android:layout_columnWeight="2"
android:layout_row="0"
android:layout_rowWeight="1"
android:layout_margin="@dimen/TextPadding"
android:text="@string/PageHome_PianoText"
style="@style/Button" />
<Space
android:layout_column="3"
android:layout_columnWeight="1.5"
android:layout_row="0"
android:layout_rowWeight="1" />
<Button
android:id="@+id/PageHome_SimpleGame"
android:layout_column="1"
android:layout_columnWeight="2"
android:layout_row="1"
android:layout_rowWeight="1"
android:layout_margin="@dimen/TextPadding"
android:text="@string/PageHome_PractiseText"
style="@style/Button" />
<Button
android:id="@+id/PageHome_AgainstTheClock"
android:layout_column="2"
android:layout_columnWeight="2"
android:layout_row="1"
android:layout_rowWeight="1"
android:layout_margin="@dimen/TextPadding"
android:text="@string/PageHome_AgainstTheClockText"
style="@style/Button" />
<Button
android:id="@+id/PageHome_Scores"
android:layout_column="1"
android:layout_columnWeight="2"
android:layout_row="2"
android:layout_rowWeight="1"
android:layout_margin="@dimen/TextPadding"
android:text="@string/PageHome_ScoreText"
style="@style/Button" />
<Button
android:id="@+id/PageHome_Settings"
android:layout_column="2"
android:layout_columnWeight="2"
android:layout_row="2"
android:layout_rowWeight="1"
android:layout_margin="@dimen/TextPadding"
android:text="@string/PageHome_SettingsText"
style="@style/Button" />
样式按钮对行为没有影响。 我没有找到任何将可绘制对象限制为按钮高度的属性。
【问题讨论】:
-
请添加您的布局代码...
-
可以使用TextView代替按钮并设置drawableLeft属性来设置drawable
-
与 textview 的行为相同
-
这意味着你的drawable尺寸非常大。如果只需要在 xml 中设置 drawable,那么您必须使用 ImageView 并控制尺寸。或者您可以从代码中设置可绘制对象并控制它们的尺寸
-
我的drawable是一个vectorial drawable(描述为scalar vector drawable(xml文件))
标签: android button drawable android-gridlayout