您的位置:首页 > 移动开发 > Android开发

android自定义对话框

2012-07-02 00:04 183 查看
dlg_my_own.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_vertical|center_horizontal"
android:layout_gravity="center"
android:background="#1d2f42"
android:padding="20dip">

<TextView android:id="@+id/txt_dlg_msg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="test"
android:textColor="#FFFFFF"
android:textSize="20dip"
android:gravity="left|center_vertical"
android:layout_margin="10dip"
android:scrollbars="vertical"
android:singleLine="false"/>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="bottom|center_horizontal"
android:layout_margin="10dip">
<ImageButton android:id="@+id/btn_dlg_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/img_ok"/>
</LinearLayout>
</LinearLayout>


java代码:

/**
*
* @param ctx
* @param msg 显示的文字
*/
public static void showMyDlg(Context ctx,String msg){

try {
LayoutInflater factory = LayoutInflater.from(ctx);
int layId = ResourceUtil.getLayoutResourceIdFromName(ctx, "dlg_my_own");
int okId = ResourceUtil.getIdResourceIdFromName(ctx, "btn_dlg_ok");
int msgId = ResourceUtil.getIdResourceIdFromName(ctx, "txt_dlg_msg");

final View dlgEntryView = factory.inflate(layId, null);
ImageButton okBtn = (ImageButton) dlgEntryView.findViewById(okId);
TextView msgTxt = (TextView) dlgEntryView.findViewById(msgId);

final AlertDialog dlg = new AlertDialog.Builder(ctx).create();
dlg.setView(dlgEntryView, 0, 0, 0, 0);

msgTxt.setText(msg);
okBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dlg.dismiss();
}
});

msgTxt.setMovementMethod(ScrollingMovementMethod.getInstance());
dlg.show();
} catch (Exception e) {
e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
}
}


调用

showMyDlg(DooyogameSushiXudxMenuActivity.this,"你好啊");


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: