Android 自定义Dialog
来源:互联网 发布:清华大学ubuntu镜像源 编辑:程序博客网 时间:2024/04/29 00:43
Android 自定义Dialog
MainActivity
package com.example.zdydialog_demo;
import com.example.zdydialog_demo.MyDialog.MyCall;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button mBtn;
private MyDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
mBtn=(Button) findViewById(R.id.mBtn);
mBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog=new MyDialog(MainActivity.this, "确定退出吗?", "确定", "退出");
dialog.setCall(new MyCall() {
@Override
public void yes() {
Toast.makeText(MainActivity.this, "确定", 0).show();
}
@Override
public void no() {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "取消", 0).show();
}
});
dialog.show();
}
});
}
}
package com.example.zdydialog_demo;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
import android.widget.TextView;
public class MyDialog extends Dialog{
private MyCall call;
public MyDialog(Context context,String title,String yes,String no) {
super(context);
// TODO Auto-generated constructor stub
this.title=title;
this.yes=yes;
this.no=no;
}
private TextView mTv_title,mTv_yes,mTv_No;
private String title;
private String yes;
private String no;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog);
initView();
Window window=getWindow();
WindowManager manager = window.getWindowManager();
LayoutParams params = window.getAttributes();
Display display = manager.getDefaultDisplay();
params.width=(int) (display.getWidth()*0.8);
params.height=(int) (display.getHeight()*0.4);
window.setGravity(Gravity.CENTER);
window.setAttributes(params);
}
private void initView() {
mTv_title=(TextView) findViewById(R.id.mTv_title);
mTv_yes=(TextView) findViewById(R.id.mTv_yes);
mTv_No=(TextView) findViewById(R.id.mTv_No);
mTv_title.setText(title);
mTv_yes.setText(yes);
mTv_No.setText(no);
mTv_yes.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
call.yes();
dismiss();
}
});
mTv_No.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
call.no();
dismiss();
}
});
}
public interface MyCall{
void yes();
void no();
}
public void setCall(MyCall call){
this.call=call;
}
}
//一下是xml文件:
activity_main
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.zdydialog_demo.MainActivity" >
<Button
android:id="@+id/mBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="helle" />
</RelativeLayout>
dialog
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.zdydialog_demo.MainActivity" >
<LinearLayout
android:id="@+id/mLine"
android:layout_width="200dp"
android:layout_height="230dp"
android:layout_centerInParent="true"
android:background="#28c8b7"
android:orientation="vertical" >
<TextView
android:id="@+id/mTv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="95dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/mTv_yes"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<TextView
android:id="@+id/mTv_No"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
- 自定义Dialog android Dialog
- 【Android】Dialog以及自定义Dialog
- android 系统Dialog,自定义Dialog
- android 自定义dialog 自定义dialog 宽度问题
- Android 自定义 dialog
- Android 自定义 dialog
- Android 自定义 dialog
- Android 自定义Dialog分类
- Android Dialog( 自定义对话框)
- Android自定义Dialog
- Android-自定义Dialog样式
- Android 自定义Dialog样式
- Android:自定义dialog
- Android 自定义dialog
- Android自定义Dialog对话框
- Android 自定义dialog
- Android自定义Dialog
- Android自定义Dialog
- spring 框架说明文档学习记录(3.7)
- Qt 信号与信号,信号与槽
- Centos7 安装 abobe player --解决firefox无法看视频
- 两种salesforce中展示图片的解决方案
- libgdx 实现转盘功能
- Android 自定义Dialog
- HttpEntity
- 工业相机及镜头的选型
- jquery的next()方法
- 二叉树遍历算法
- 119 C语言const:禁止修改变量的值
- Weblogic 12c 负载均衡和session复制
- vuejs实现一个博客的简单记录(含源码)
- 默罕默德的炸弹