標籤:
PopuWindowHealthRecord 這是dialog
PopuWindowHealthRecord.this.dismiss();
PopuWindowHealthRecord extends Dialog
dialog設定自訂風格(樣式)
public PopuWindowHealthRecord(Context context) {
super(context, R.style.HealthDialog);
//設定布局(完美實現各種布局)dialog和activity就基本差不多了
setContentView(R.layout.popuwindow_health_record);
this.inflater = LayoutInflater.from(context);
dialog自訂風格values下的stytle。xml中寫
<style name="HealthDialog" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/background_light</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
</style>
建立dialog(執行個體化)
//我的健康檔案
tvHealthRecord.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(contentView.getContext(), "測試點擊", Toast.LENGTH_LONG).show();
//建立POP視窗
PopuWindowHealthRecord popuWindowHealthRecord = new PopuWindowHealthRecord(context);
//設定布局屬性用的parm
WindowManager.LayoutParams parm = new WindowManager.LayoutParams();
// 擷取螢幕密度
DisplayMetrics dm = new DisplayMetrics();
dm = context.getResources().getDisplayMetrics();
//設定螢幕寬高
parm.width =dm.widthPixels/2;
parm.height = dm.heightPixels;
//設定dialog位置
//這個設定是緊靠左邊
parm.x = -parm.width;
parm.y = 0;
popuWindowHealthRecord.getWindow().setAttributes(parm);
//設定是否點擊dialog外的地方,dialog消失
popuWindowHealthRecord.setCanceledOnTouchOutside(false);
popuWindowHealthRecord.show();
android自訂Dialog菜鳥級講解