保留RelativeLayout时添加背景图像

时间:2013-12-04 08:47:18

标签: android

这是我的* activity_login.xml *

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:useDefaultMargins="true"
tools:ignore="ExtraText" >

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/userid"
    android:layout_centerHorizontal="true"
    android:text="@string/userid"
    android:textSize="20sp" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/password"
    android:layout_centerHorizontal="true"
    android:text="@string/password"
    android:textSize="20sp" />

<EditText
    android:id="@+id/userid"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView3"
    android:layout_alignRight="@+id/password"
    android:ems="10"
    android:inputType="textPersonName" />

<Button
    android:id="@+id/login"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:layout_above="@+id/newuser"
    android:layout_alignRight="@+id/textView3"
    android:layout_marginBottom="27dp"
    android:gravity="center"
    android:text="@string/button_login" />

<EditText
    android:id="@+id/password"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/login"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="25dp"
    android:ems="10"
    android:inputType="textPassword" />

<Button
    android:id="@+id/register"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="42dp"
    android:gravity="center"
    android:text="@string/button_register" />

<TextView
    android:id="@+id/newuser"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/register"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="14dp"
    android:text="@string/newuser" />

</RelativeLayout>

我想将 pos_malaysia.png 设置为屏幕顶部中心的登录页面背景。我看到其中一些人说使用<bitmap>

当我用RelativeLayout替换bitmap时,所有android:layout_above="@+id/userid"android:layout_centerHorizontal="true"都无法使用,因为它仅适用于RelativeLayout。我该怎么做才能保持添加背景的布局?

5 个答案:

答案 0 :(得分:1)

有两种可能的解决方案。

第一次 android:background =“@ drawable / [PIC]”添加到您的相对布局。

第二次 ImageView 添加为相对布局的第一层(在底部)。

取决于你应该考虑使用9patch的背景(徽标,图像),所以它会很好地扩展。

答案 1 :(得分:0)

如果您想添加背景使用

  

机器人:背景= “@绘制/ IMAGE_NAME”

(前提是您计划加载的图像位于项目资源中。)

小部件或RelativeLayout中的

如果你想保持它的大小创建syle或只是创建imageView

答案 2 :(得分:0)

尝试

<RelativeLayout>
    <ImageView
        android:layout_centerHorizontal="true"
        android:layout_alignParentTop="true">
    </ImageView>

</RelativeLayout>

答案 3 :(得分:0)

试试这个。您也可以使用相同的线性布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:useDefaultMargins="true"
tools:ignore="ExtraText"
android:background="@drwable/your_bg_image"
 >

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/userid"
    android:layout_centerHorizontal="true"
    android:text="@string/userid"
    android:textSize="20sp" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/password"
    android:layout_centerHorizontal="true"
    android:text="@string/password"
    android:textSize="20sp" />

<EditText
    android:id="@+id/userid"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView3"
    android:layout_alignRight="@+id/password"
    android:ems="10"
    android:inputType="textPersonName" />

<Button
    android:id="@+id/login"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:layout_above="@+id/newuser"
    android:layout_alignRight="@+id/textView3"
    android:layout_marginBottom="27dp"
    android:gravity="center"
    android:text="@string/button_login" />

<EditText
    android:id="@+id/password"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/login"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="25dp"
    android:ems="10"
    android:inputType="textPassword" />

<Button
    android:id="@+id/register"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="42dp"
    android:gravity="center"
    android:text="@string/button_register" />

<TextView
    android:id="@+id/newuser"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/register"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="14dp"
    android:text="@string/newuser" />

</RelativeLayout>

答案 4 :(得分:0)

试试这个:

 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/RelativeLayout1"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:useDefaultMargins="true"
 tools:ignore="ExtraText" >

<ImageView
android:id="@+id/imgv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/*****YOUR IMAGE NAME****"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>

</RelativeLayout>