自定義dialog

/**
 * 提示對話框視圖
 */
public class PromptDialogView {
private TextView promptContent;
private Button promptClose;


public TextView getPromptContent() {
return promptContent;
}


public Button getPromptClose() {
return promptClose;
}


private View view;


public View getView() {
return view;
}


public PromptDialogView(Context context) {
LayoutInflater inflater = LayoutInflater.from(context);
view = inflater.inflate(R.layout.prompt_dialog, null);
promptContent = (TextView) view.findViewById(R.id.tv_prompt_content);
promptClose = (Button) view.findViewById(R.id.btn_prompt_close);
}

}


/**
 * 提示對話框
 * @author new
 *
 */
public class PromptDialog extends Dialog implements OnClickListener {


private PromptDialogView promptDialogView = null;


public PromptDialog(Context context) {
super(context, R.style.customDialog);
promptDialogView = new PromptDialogView(context);
setContentView(promptDialogView.getView());
show();
setListener();
}


private void setListener() {
promptDialogView.getPromptClose().setOnClickListener(this);
}


@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_prompt_close:
dismiss();
break;


default:
break;
}
}


}


//values目錄下的styles.xml文件

<resources xmlns:android="http://schemas.android.com/apk/res/android">


    <style name="AppTheme" parent="android:Theme.Light" />


    <style name="customDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
 <!-- 邊框 -->
        <item name="android:windowIsFloating">true</item>
 <!-- 是否浮現在activity之上 -->
        <item name="android:windowIsTranslucent">false</item>
 <!-- 半透明 -->
        <item name="android:windowNoTitle">true</item>
 <!-- 無標題 -->
        <item name="android:windowBackground">@color/transparent</item>
 <!-- 背景透明 -->
    </style>


</resources>


//layout目錄下的prompt_dialog.xml文件

<?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:gravity="center"
    android:orientation="vertical" >


    <LinearLayout
        android:layout_width="237dip"
        android:layout_height="wrap_content"
        android:background="@drawable/dialog_title_bg"
        android:gravity="center_vertical" >


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:gravity="left"
            android:text="@string/prompt_title"
            android:textColor="@color/white" />
    </LinearLayout>


    <LinearLayout
        android:layout_width="235dip"
        android:layout_height="wrap_content"
        android:background="@drawable/dialog_bg"
        android:orientation="vertical" >


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="95dip"
            android:gravity="center" >


            <TextView
                android:id="@+id/tv_prompt_content"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="25dip"
                android:layout_marginRight="25dip"
                android:gravity="center_vertical"
                android:text="@string/prompt_content"
                android:textColor="@color/white"
                android:textSize="15sp"
                android:lines="2" />
        </LinearLayout>


        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/dialog_line" />


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dip"
            android:layout_marginTop="5dip"
            android:gravity="center"
            android:orientation="horizontal" >


            <Button
                android:id="@+id/btn_prompt_close"
                android:layout_width="100dip"
                android:layout_height="35dip"
                android:text="@string/prompt_close" />


        </LinearLayout>
    </LinearLayout>


</LinearLayout>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章