软件编程
位置:首页>> 软件编程>> Android编程>> Android仿Iphone屏幕底部弹出半透明PopupWindow效果

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

作者:lfdfhl  发布时间:2023-08-17 06:14:43 

标签: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;
 }

}}
}
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com