本片文章主要談探討了如何?在底部彈出提示框背景為半透明效果的實現。想要實現此種效果一般有兩種方式一個是使用Activity設定Theme另一種方式就是使用PopupWindow設定樣式實現效果。
一,使用Activity
首先是此activity的布局檔案:
在AndroidManifest當中的配置
指定了自訂的Theme 在style當中設定
在其中我添加了進入很退出的動畫採用了上下進出的方式:
進出的動畫為:
push_bottom_in:
push_bottom_out為:
這樣就實現了下部彈出框。
二,使用PopupWindow實現
使用的樣式和動畫效果不改變與上邊的相同,首先一個自訂的PopupWindow
package com.example.activityanimationdemo;import android.app.ActionBar.LayoutParams;import android.app.Activity;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.PopupWindow;public class MyPopupWindow extends PopupWindow{private View mainview;public MyPopupWindow(Activity context,OnClickListener itemclick){super(context);LayoutInflater inflater=(LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);mainview=inflater.inflate(R.layout.activity_popup, null);this.setWidth(LayoutParams.MATCH_PARENT);this.setHeight(LayoutParams.MATCH_PARENT);this.setContentView(mainview);this.setFocusable(true);this.setAnimationStyle(R.style.AnimBottom);}}然後在Activity當中的點擊事件顯示PopupWindow:
findViewById(R.id.button1).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub//ActivityMy.this.startActivity(new Intent(ActivityMy.this, PopupActivity.class));popupwindow=new MyPopupWindow(ActivityMy.this, null);popupwindow.showAtLocation(ActivityMy.this.findViewById(R.id.demo), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);}});}: