1

我正在构建我的第一个 android 应用程序。在我的开始活动中,我想使用一些 ImageViews 而不是按钮,这些 ImageViews 是它们的宽度应该始终与父布局匹配的大图块。我已经绘制了我的 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" />

4

3 回答 3

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" />
于 2013-01-19T11:17:52.327 回答
0

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

要将 ImageView 中的图像大小调整为正确大小,请使用fitCenteras android:scaletype

于 2013-01-19T11:15:07.727 回答
0

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

于 2013-01-19T19:15:16.437 回答