/** * 这是简单的一个用法 * 大多数都是用的系统的 * 这个方法调用的是手机最大的Dialog * * 对于一般的显示框可以用它 * 但是对于输入框,它没有获取到输入的信息 * @param context * @param id */ public static void showDialog_0 ( Context context,int id) { View view = View.inflate(context,id,null); AlertDialog.Builder builder = new AlertDialog.Builder(context); AlertDialog alertDialog = builder.create(); alertDialog.setView(view); EditText a_dialog_et = (EditText) view.findViewById(R.id.a_dialog_et); final String str = a_dialog_et.getText().toString().trim(); view.findViewById(R.id.a_dialog_0).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.e("text123","---"+str); } }); alertDialog.show(); }
/** * 包裹的 * 其他的同上 * @param context * @param id */ public static void showDialog_1 (Context context,int id) { AlertDialog dialog = new AlertDialog.Builder(context).create(); dialog.show(); Window window = dialog.getWindow(); window.setContentView(id); EditText a_dialog_et = (EditText) dialog.findViewById(R.id.a_dialog_et); final String str = a_dialog_et.getText().toString().trim(); dialog.findViewById(R.id.a_dialog_0).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.e("text123","---"+str); } }); }
/** * 就是一个简单的Dialog的基本封装 * @param context * @param id * @return */ public static Dialog showDialog_2 ( Context context,int id) { View view = View.inflate(context,id,null); Dialog dialog = new Dialog(context); //去掉标题 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(view); dialog.setCanceledOnTouchOutside(true); return dialog; }
/** * 使用activity来做一个伪dialog * @param context * @return */ public static void showDialog_3 ( Context context) { Intent intent = new Intent(context, DialogActivity.class); context.startActivity(intent); }
import android.app.Activity; import android.os.Bundle; import www.baidu.myhttputils.R; /** * 使用activity来伪装成一个Dialog * Created by hj1 on 2016/11/28. */ public class DialogActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog_activity); } }
<activity android:name=".view.DialogActivity" android:theme="@style/MyDialogTopRight"> </activity>
<style name="MyDialogTopRight"> <item name="android:windowBackground">@color/color_c44666666</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <item name="android:windowAnimationStyle">@style/Anim_scale</item> </style> <style name="Anim_scale" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/scale_in</item> <item name="android:activityOpenExitAnimation">@anim/scale_out</item> <item name="android:activityCloseEnterAnimation">@anim/scale_in</item> <item name="android:activityCloseExitAnimation">@anim/scale_out</item> </style>
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromYDelta="-100%p" android:toYDelta="0" > </translate>
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromYDelta="0" android:toYDelta="-100%p" > </translate>