首页 > 系统 > Android > 正文

Android仿Iphone屏幕底部弹出半透明PopupWindow效果

2019-12-12 02:30:02
字体:
来源:转载
供稿:网友

本文实例为大家分享了Android仿Iphone屏幕底部弹出效果的具体代码,供大家参考,具体内容如下

main.xml如下:

 <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  >  <Button     android:id="@+id/button"    android:text="popupWindow"    android:layout_width="fill_parent"    android:layout_height="wrap_content"  /></RelativeLayout> 

styles.xml如下:

 <?xml version="1.0" encoding="utf-8"?><resources>  <style name="popupAnimation" parent="android:Animation"> <item name="android:windowEnterAnimation">@anim/in</item> <item name="android:windowExitAnimation">@anim/out</item> </style></resources> popupwindow.xml如下: <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="#b5555555" >  <LinearLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_alignParentBottom="true"    android:layout_marginBottom="12dip"    android:paddingLeft="10dip"    android:paddingRight="10dip"    android:orientation="vertical" >    <Button      android:id="@+id/confirmButton"      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:layout_gravity="center"      android:text="确定"/>    <Button      android:id="@+id/cancleButton"      android:layout_marginTop="12dip"      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:layout_gravity="center"      android:text="取消" />  </LinearLayout></RelativeLayout> 

in.xml如下:

 <?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">  <translate    android:fromYDelta="5000"    android:toYDelta="0"    android:duration="1500"  /></set> 

out.xml如下:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">  <translate    android:fromYDelta="0"    android:toYDelta="5000"    android:duration="1500"  /></set> 

PopupWindowTestActivity.Java如下:

 import android.app.Activity;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup.LayoutParams;import android.widget.Button;import android.widget.PopupWindow;/** * Demo描述: * 仿Iphone从屏幕底部弹出半透明的PopupWindow */public class PopupWindowTestActivity extends Activity { private Button button;  private Button confirmButton;  private Button cancleButton;  private PopupWindow popupWindow;  private View popupWindowView;  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    init();  }  private void init(){    button=(Button) findViewById(R.id.button);    button.setOnClickListener(new ButtonOnClickListener());  } private class ButtonOnClickListener implements OnClickListener { @Override public void onClick(View v) {  switch (v.getId()) {  case R.id.button:  LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);  popupWindowView = inflater.inflate(R.layout.popupwindow, null);  popupWindow = new PopupWindow(popupWindowView,LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT,true);  popupWindow.setBackgroundDrawable(new BitmapDrawable());  //设置PopupWindow的弹出和消失效果  popupWindow.setAnimationStyle(R.style.popupAnimation);  confirmButton = (Button) popupWindowView.findViewById(R.id.confirmButton);  confirmButton.setOnClickListener(new ButtonOnClickListener());  cancleButton = (Button) popupWindowView.findViewById(R.id.cancleButton);  cancleButton.setOnClickListener(new ButtonOnClickListener());  popupWindow.showAtLocation(confirmButton, Gravity.CENTER, 0, 0);  break;  case R.id.confirmButton:  System.out.println("点击了确定按钮");  break;  case R.id.cancleButton:  popupWindow.dismiss();  break;  default:  break;  } }}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表