自定義
private void showMiddleDialog() {
final AlertDialog dialog = new AlertDialog.Builder(AdsScanActivity.this).show();
Window window = dialog.getWindow();
window.setWindowAnimations(R.style.dialogWindowAnim);//設置動畫類型
window.setContentView(R.layout.ads_msg_dialog_layout);//加載自定義佈局
TextView title = (TextView) window.findViewById(R.id.title);
TextView message = (TextView) window.findViewById(R.id.message);
Button cancel = (Button) window.findViewById(R.id.cancel);
Button ok = (Button) window.findViewById(R.id.btn_ok);
title.setText(R.string.ads_server_dialog_title);
message.setText(R.string.ads_server_dialog_msg);
ok.setText(R.string.ads_server_open);
cancel.setText(R.string.ads_server_cancel);
ok.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
//TODO something here
}
});
cancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
}
res/layout/ads_msg_dialog_layout.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:orientation="vertical"
android:background="#F5F5F5" >
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="45dp"
android:paddingLeft="20dp"
android:paddingTop="5dp"
android:paddingBottom="15dp"
android:gravity="center_vertical"
android:textSize="@dimen/common_title_size"
android:textColor="@color/white"
android:background="#3F52B4"/>
<TextView
android:id="@+id/message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:textSize="@dimen/common_middle_text_size" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:gravity="center_horizontal" >
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/btn_margin_left"
android:background="@drawable/botom_button_selector"
android:text="@string/cancel"
android:textColor="@color/black"
android:textSize="@dimen/common_middle_text_size" />
<Button
android:id="@+id/btn_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/btn_margin_left"
android:layout_marginRight="@dimen/btn_margin_left"
android:background="@drawable/botom_button_selector"
android:text="@string/ok"
android:textColor="@color/battery_bt_ok"
android:textSize="@dimen/common_middle_text_size" />
</LinearLayout>
</LinearLayout>
res/values/dimens.xml
<resources>
<dimen name="btn_margin_left">14dp</dimen>
<dimen name="common_title_size">17sp</dimen>
<dimen name="common_middle_text_size">16sp</dimen>
</resources>
res/values/colors.xml<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#ffffff</color>
<color name="black">#000000</color>
<color name="battery_bt_ok">#4AD134</color>
</resources>
res/drawable/botom_button_selector.xml
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/bt_white"></item>
<item android:state_pressed="true" android:drawable="@drawable/bt_white_press"></item>
<item android:drawable="@drawable/bt_white"></item>
</selector>
彈出動畫
res/values/styles.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="dialogWindowAnim" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/dialog_enter_anim</item>
<item name="android:windowExitAnimation">@anim/dialog_exit_anim</item>
</style>
</resources>
res/anim/dialog_enter_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%p"
android:duration="200"/>
</set>
res/anim/dialog_exit_anim.xml<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:toYDelta="100%p"
android:duration="200"/>
</set>
其他效果
<translate /> 位移
<alpha /> 透明度
<rotate /> 旋轉
<scale /> 縮放