有可能让android:drawableLeft填充Button View上的父级吗?

时间:2015-03-12 19:01:07

标签: java android user-interface android-layout button

所以我在xml中定义了一个简单的Button,如下所示:

<Button
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:layout_margin="5dp"
    android:gravity="center"
    android:text="@string/home_button_student"
    android:textSize="@dimen/abc_text_size_headline_material"
    android:onClick="buttonClick"
    android:id="@+id/home_button_student"
    android:drawableLeft="@drawable/ic_action_emo_cool"/>

我在LinearLayout中有几个这样的内容,正如预期的那样,它们填满了屏幕,每个屏幕都占用了相同的空间,每个空间看起来与此类似:http://i.imgur.com/fMNldop.jpg

我在这里遇到的问题是,你可以看到drawable与文本的高度相同,我想知道是否有办法将可绘制比例放到按钮本身的高度没有使用其他LinearLayout创建我自己的按钮的解决方法,我想坚持使用Button

我的res文件夹中的图像有不同版本的正确文件夹(xxhdpi,xhdpi等),但它似乎只想使用最小的文件夹。

编辑:看起来这可能是由于提供的图像太小,正如我上面所说的那样,我有各种尺寸的图像,我怎么能告诉android在更大的屏幕上使用更大的图像而不是默认为较小的一个?我认为这首先是拥有多种尺寸的重点。

3 个答案:

答案 0 :(得分:0)

为此,您需要将layout_height从fill_parent更改为wrap_content,如下所示

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    android:gravity="center"
    android:text="@string/home_button_student"
    android:textSize="@dimen/abc_text_size_headline_material"
    android:onClick="buttonClick"
    android:id="@+id/home_button_student"
    android:drawableLeft="@drawable/ic_action_emo_cool"/>

如果你想要一个真正高大的按钮,那么请确保你有一个相同的高度可绘图像。而且这里也没有必要给予重量,

答案 1 :(得分:0)

drawable只是位图的大小。只需提供更大的图像,它应该没问题。

答案 2 :(得分:0)

您可以使用自定义布局,例如左侧或右侧可绘制,只需使用此imageview中的线性布局和视图按钮。所以你可以放置你想要的图像