如何在ImageView上使用EditText

时间:2012-11-25 20:38:01

标签: android xml android-layout

我正在创建一个应用程序,我必须在一个XML文件中使用两个图像。 (一个用于徽标,另一个用于登录模式)。在模式图像上,我必须设置两个EditText。我怎么能这样做?

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

          <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:background="@drawable/some image" 
            android:layout_marginLeft="200dp"
            android:layout_marginBottom="300dp"
            android:layout_marginTop="80dp">  

           <LinearLayout 
            android:layout_height="fill_parent"
            android:layout_width="fill_parent" 
            android:layout_weight="1"
            android:gravity="center" 
            android:orientation="vertical">
            <EditText 
             android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
                           />
        </LinearLayout>
    </RelativeLayout>
    </relativeLayout>

4 个答案:

答案 0 :(得分:2)

如果我理解正确,你基本上想要在前台有两个EditTexts的背景。

最好的方法是通过相对布局。这样的东西可以工作(注意,这是伪代码,所以它不会直接工作)

<RelativeLayout>

    <ImageView
        android:height="fill_parent"
        android:src="@drawable/some_image"
        android:width="fill_parent" />

    <EditText
        android:id="@+id/edit_text1"
        android:layout_alignParentBottom="true" />

    <EditText
        android:id="@+id/edit_text2 "
        android:layout_above="@id/edit_text1" />

</RelativeLayout>

答案 1 :(得分:1)

您的问题有点模糊,但您可以轻松使用Relativelayout将EditTexts放在ImageView上方。

一个基本的例子是:

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

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/image" />

</RelativeLayout>

答案 2 :(得分:0)

将edittext放在imageview上方:

EditText edit = (EditText)findViewById(R.id.YOUR_EDITTEXT_ID);
ImageView image = (ImageView)findViewById(R.id.YOUR_IMAGEVIEW_ID);
image.setImageBitmap(YOUR_BITMAP);
edit.bringToFront();

上面的代码将沿着z轴将edittext带到imageview上方。当然,您必须以XML或以编程方式定位它们。

答案 3 :(得分:0)

谢谢大家的帮助。我已经完成了我的任务。这个应用程序是针对平板电脑所以根据这个来限制边缘。这是代码..

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#fff"

<ImageView
    android:id="@+id/login"
    android:layout_width="648dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="640dp"
    android:layout_marginTop="40dp"
    android:src="@drawable/ic_login" />

<EditText 
    android:id="@+id/et1"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:cursorVisible="true"
    android:background="#000"
    android:singleLine="true"
    android:layout_marginTop="100dp"
    android:layout_marginLeft="710dp"
    android:layout_marginRight="193dp"
    android:textColor="#fff"/>

<EditText 
    android:id="@+id/et1"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:cursorVisible="true"
    android:background="#000000"
    android:singleLine="true"
    android:layout_marginTop="127dp"
    android:layout_marginLeft="710dp"
    android:layout_marginRight="193dp"
    android:textColor="#fff"/>

<ImageView 
     android:id="@+id/logo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="420dp"
    android:layout_marginLeft="2dp"
    android:src="@drawable/ic_glogo" />


 </RelativeLayout>