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

 更新时间:2017年07月11日 10:09:06   作者:lfdfhl  
这篇文章主要为大家详细介绍了Android仿Iphone屏幕底部弹出半透明PopupWindow效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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;
  }

 }}
}

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

相关文章

  • Kotlin实现多函数接口的简化调用

    Kotlin实现多函数接口的简化调用

    这篇文章主要为大家详细介绍了Kotlin实现多函数接口的简化调用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Android Okhttp断点续传面试深入解析

    Android Okhttp断点续传面试深入解析

    这篇文章主要给大家介绍了关于Android Okhttp断点续传面试的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Android具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Android 实现截屏功能的实例

    Android 实现截屏功能的实例

    这篇文章主要介绍了Android 实现截屏功能的实例的相关资料,这里实现截屏的实例在代码中注释非常清楚,希望能帮助到大家,需要的朋友可以参考下
    2017-08-08
  • Android Studio 代理配置指南(小结)

    Android Studio 代理配置指南(小结)

    这篇文章主要介绍了Android Studio 代理配置指南(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Android获取热点主机ip和连接热点手机ip的代码

    Android获取热点主机ip和连接热点手机ip的代码

    这篇文章主要介绍了Android获取热点主机ip和连接热点手机ip的相关资料,需要的朋友可以参考下
    2018-01-01
  • Android 图片保存到相册不显示的解决方案(兼容Android 10及更高版本)

    Android 图片保存到相册不显示的解决方案(兼容Android 10及更高版本)

    这篇文章主要介绍了Android 图片保存到系统相册不显示的解决方案,帮助大家更好的理解和学习使用Android开发,感兴趣的朋友可以了解下
    2021-04-04
  • Android LinearLayout实现自动换行

    Android LinearLayout实现自动换行

    这篇文章主要为大家详细介绍了Android LinearLayout实现自动换行,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Android实现圆角图片

    Android实现圆角图片

    这篇文章主要为大家详细介绍了Android实现圆角图片,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • android表格效果之ListView隔行变色实现代码

    android表格效果之ListView隔行变色实现代码

    首先继承SimpleAdapter再使用重载的Adapter来达到效果,其实主要是需要重载SimpleAdapter,感兴趣的朋友可以研究下,希望本文可以帮助到你
    2013-02-02
  • Android解析Intent Filter的方法

    Android解析Intent Filter的方法

    这篇文章主要介绍了Android解析Intent Filter的方法,较为详细的分析了Intent解析的原理与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论