如何在屏幕上的布局内设置图像?

时间:2015-02-23 12:01:16

标签: android android-layout layout

我需要在屏幕中央将两个图像一个放在另一个下面。他们需要在中心。图像将根据代码不断变化,那么如何在不移动或尺寸增大或减小的情况下让图像在所有屏幕上工作?

我尝试使用网格视图,但似乎有两个图像的代码太多了。它有效,但还有什么更有效的吗?

4 个答案:

答案 0 :(得分:2)

对于这种类型的设计,我总是在屏幕上创建一个中心点,检查下面的代码 -

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

<ImageView
    android:id="@+id/image1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_launcher"
    android:layout_centerHorizontal="true"
    android:layout_above="@+id/center_point" />

<View 
    android:id="@+id/center_point"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_centerInParent="true"/>

<ImageView
    android:id="@+id/image2"
    android:src="@drawable/ic_launcher"
    android:layout_below="@+id/center_point"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true" />

它肯定会奏效。

一切顺利

答案 1 :(得分:0)

如果你一直只有2张图片,你可以在xml文件中设置它:

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

    <ImageView
        android:id="@+id/image1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />

    <ImageView
        android:id="@+id/image2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true" />

</RelativeLayout> 

第一个图像居中于父级,第二个图像居中水平,并且也对齐屏幕底部。

祝你好运。

答案 2 :(得分:0)

制作一个包含Linear-layout s的垂直ImageView,然后为它们设置相等的layout_weight。为layout_centerInParent

设置Linear_layout为true
<LinearLayout
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:id="@+id/lock_layout_keypad"
    android:orientation="vertical"
    android:layout_centerInParent="true"
    android:layout_marginBottom="4dp">


    <ImageView
        android:layout_weight="1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:src="@drawable/ic_launcher"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <ImageView
        android:layout_weight="1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView2"
        android:src="@drawable/ic_launcher"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

</LinearLayout>

您可以删除android:layout_weight

答案 3 :(得分:0)

这里这段代码可以帮到你。你必须创建一个LinearLayout并设置他的垂直方向和layout_gravity = center horizo​​ntal.After之后创建两个图像视图,它们是屏幕中心的自动位置,一个在另一个下面。我希望这会有所帮助你。快乐的编码:)

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_gravity="center_horizontal">


    <ImageView
        android:id="@+id/image_view_two"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"
        />

    <ImageView
        android:id="@+id/image_view_one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />
</LinearLayout>