-1

我想制作一个自定义对话框,我想在其中提示用户输入密码。为此,我正在扩展DialogClass.But 我的对话框看起来像这样,这不是我想要的 在此处输入图像描述

这是我的代码和布局文件

<?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);
    }
}
4

1 回答 1

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);
于 2013-10-05T14:27:58.140 回答