使用ImageViews代替Android中的按钮

时间:2013-01-19 11:12:18

标签: android

我正在构建我的第一个android应用程序。在我的开始活动中,我想使用一些ImageViews而不是按钮,这些ImageViews是大的瓷砖,它们的宽度应该始终与父Layout匹配。我已经绘制了我的imageViews以适应正常的移动屏幕(我觉得4英寸)我怎么能让它们适合任何设备?像一个7或10英寸的平板电脑?

编辑:很遗憾,我使用了fitCenter并没有任何区别,那是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="24dp"
    android:layout_marginTop="122dp"
    android:drawableLeft="@drawable/home"
    android:drawablePadding="@dimen/padding_small"
    android:padding="@dimen/padding_small"
    android:text="My Classes"
    android:textSize="@dimen/a12" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button3"
    android:layout_alignRight="@+id/button3"
    android:layout_centerVertical="true"
    android:layout_below="@+id/button3"
    android:layout_marginTop="35dp"                
    android:drawableLeft="@drawable/image"
    android:text="Update Offline Data"
    android:textSize="@dimen/a12" />

<Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button1"
    android:layout_alignRight="@+id/button1"
    android:layout_below="@+id/button1"
    android:layout_marginTop="35dp"
    android:drawableLeft="@drawable/configure"
    android:text="Settings"
    android:textSize="@dimen/a12" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="38dp"
    android:scaleType="fitCenter"
    android:src="@android:drawable/bottom_bar" />

3 个答案:

答案 0 :(得分:2)

为了适合您可以在控件中使用android:scaleType =“fitCenter”属性的图像 像这样:

<ImageButton
        android:id="@+id/imageViewSecurity"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/security"
        android:background="@null"
        android:scaleType="fitCenter" />

答案 1 :(得分:0)

不要给它们一个绝对宽度,而是使用常量match_parent作为android:width,它总是给它们与父视图相同的宽度。活动的根视图将与具有此宽度和/或高度的屏幕具有相同的大小。

要将ImageView中的图片尺寸调整为正确尺寸,请使用fitCenter作为android:scaletype

答案 2 :(得分:0)

如果您要做的就是让图像与其容器的宽度相匹配(并且其容器与其父级的宽度相匹配),那么您应该将图像设置为View的背景,而不是它的src。无论它的大小如何,我相信它会拉伸它以填充整个视图。