自定义对话框布局

时间:2013-10-05 13:11:45

标签: android

我想创建一个自定义对话框,我想在其中提示用户输入密码。为此我正在扩展Dialog Class.But我的对话框看起来像这不是我想要的 enter image description here

这是我的代码和布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorMenuBackground"
    android:orientation="vertical"
    android:padding="15dip" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Login"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#ffffff" />

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="2dip"
        android:background="#ffffff" 
        android:layout_marginBottom="15dip">
    </TableRow>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/register_form_textview_background"
        android:padding="10dip"
        android:text="Password" />

    <EditText
        android:id="@+id/etmyPass"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="15dip"
        android:background="@drawable/edittext"
        android:ems="10"
        android:inputType="textPassword"
        android:padding="10dip" >
    </EditText>

    <Button
        android:id="@+id/blogin"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/app_button"
        android:text="Login"
        android:textStyle="bold" />

</LinearLayout>

customDialog.java

package com.example.mywebaccounts.Dialogs;

import com.example.mywebaccounts.R;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;

public class LoginDialog extends Dialog{

    public LoginDialog(Context context){
        super(context);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_login_dialog);
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用Dialog的getwindow()方法获取对话框宽度,如...

WindowManager.LayoutParams lp=dialog.getWindow().getAttributes();

lp.width=300 or <your size> ; // for dialog width
lp.x=700; // for dialog 
lp.y=10; // pos
dialog.getWindow().setAttributes(lp);