写代码的四点:
1.明确需求。要做什么?
2.分析思路。要怎么做?(1,2,3……)
3.确定步骤。每一个思路要用到哪些语句、方法和对象。
4.代码实现。用具体的语言代码将思路实现出来。
学习新技术的四点:
1.该技术是什么?
2.该技术有什么特点?(使用需注意的方面)
3.该技术怎么使用?(写Demo)
4.该技术什么时候用?(在Project中的使用场景 )
----------------------早计划,早准备,早完成。-------------------------
代码如下:
package com.wy.test.other; import android.app.Dialog; import android.content.Context; import android.view.Gravity; import android.view.View; import android.view.Window; import android.view.WindowManager; /** * 圆角的dialog */ public class RoundCornerDialog extends Dialog { private static int default_width = 160; //默认宽度 private static int default_height = 120;//默认高度 public RoundCornerDialog(Context context, View layout, int style) { this(context, default_width, default_height, layout, style); } public RoundCornerDialog(Context context, int width, int height, View layout, int style) { super(context, style); setContentView(layout); Window window = getWindow(); WindowManager.LayoutParams params = window.getAttributes(); params.gravity = Gravity.CENTER; window.setAttributes(params); } //圆角的dialog样式,在values——》styles中设置 // <style name="RoundCornerDialog" parent="@android:style/Theme.Dialog"> // <item name="android:windowFrame">@null</item> // <item name="android:windowIsFloating">true</item> // <item name="android:windowIsTranslucent">true</item> // <item name="android:windowNoTitle">true</item> // <item name="android:background">@android:color/transparent</item> // <item name="android:windowBackground">@android:color/transparent</item> // <item name="android:backgroundDimEnabled">true</item> // <item name="android:backgroundDimAmount">0.6</item> // </style> }
在项目中的应用:
1.在values——》styles中设置style样式;
<!--圆角的dialog--> <style name="RoundCornerDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <item name="android:background">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:backgroundDimAmount">0.6</item> </style>2.在drawable中定义shape_circle_corner_white文件(圆角的背景)
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 填充的颜色 --> <solid android:color="#ffffff" /> <!-- 设置按钮的四个角为弧形 --> <!-- android:radius 弧形的半径 --> <corners android:radius="16dip" /> <!-- padding:Button里面的文字与Button边界的间隔 --> <!--<padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp"/>--> </shape>3.定义弹出的RoundCornerDialog的layout布局文件;
<?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="@drawable/shape_circle_corner_white" android:gravity="center" android:orientation="vertical"> <RelativeLayout android:layout_width="222dp" android:layout_height="132dp" android:background="@drawable/shape_circle_corner_white"> <TextView android:id="@+id/tv_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="37dp" android:textColor="#666666" android:textSize="17dp" /> <LinearLayout android:id="@+id/ll" android:layout_width="match_parent" android:layout_height="50dp" android:layout_alignParentBottom="true" android:orientation="horizontal"> <TextView android:id="@+id/tv_logout_confirm" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:text="确定" android:textColor="#e01b2b" android:textSize="17dp" /> <TextView android:id="@+id/tv_logout_cancel" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:text="取消" android:textColor="#e01b2b" android:textSize="17dp" /> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_alignTop="@id/ll" android:background="#e4e4e4" /> <View android:layout_width="0.5dp" android:layout_height="50dp" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:background="#e4e4e4" /> </RelativeLayout> </LinearLayout>4.在activity中展示圆角的dialog
/** * 展示圆角的dialog */ private void showDialog() { View view = View.inflate(this, R.layout.dialog_two_btn, null); final RoundCornerDialog roundCornerDialog = new RoundCornerDialog(this, 0, 0, view, R.style.RoundCornerDialog); roundCornerDialog.show(); roundCornerDialog.setCanceledOnTouchOutside(false);// 设置点击屏幕Dialog不消失 roundCornerDialog.setOnKeyListener(keylistener);//设置点击返回键Dialog不消失 TextView tv_message = (TextView) view.findViewById(R.id.tv_message); TextView tv_logout_confirm = (TextView) view.findViewById(R.id.tv_logout_confirm); TextView tv_logout_cancel = (TextView) view.findViewById(R.id.tv_logout_cancel); tv_message.setText("这是个圆角的dialog"); //确定 tv_logout_confirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { roundCornerDialog.dismiss(); } }); //取消 tv_logout_cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { roundCornerDialog.dismiss(); } }); } DialogInterface.OnKeyListener keylistener = new DialogInterface.OnKeyListener() { public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { return true; } else { return false; } } };