划出一个半透明的PopupWindow,划出popupwindow
投稿于 被查看 42362 次 评论:201
划出一个半透明的PopupWindow,划出popupwindow
最近看到几篇关于半透明的PopupWindow,没太理解,最后还是自己写一个Demo吧喜欢得人可以交流,Android专业开发群1:150086842 Android专业开发群2:219277004
1.[图片] 未命名1.jpg
2.主类
package com.android.wei.popupwindow; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.AnimationUtils; import android.widget.Button; import android.widget.PopupWindow; import android.widget.ViewFlipper; public class MyActivity extends Activity implements OnClickListener{ private Button popupButton; private Button dialogButton; private LayoutInflater layoutInflater; private ViewFlipper viewFilpper; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); popupButton = (Button) this.findViewById(R.id.button1); dialogButton = (Button) this.findViewById(R.id.button2); popupButton.setOnClickListener(this); dialogButton.setOnClickListener(this); } public void onClick(View v) { Context context = MyActivity.this; // TODO Auto-generated method stub if(v.getId()==R.id.button1){ layoutInflater = LayoutInflater.from(context); PopupWindow popup= new PopupWindow(MyActivity.this); View popView = layoutInflater.inflate(R.layout.popupwindow, null); popup.setContentView(popView); viewFilpper = (ViewFlipper) popView.findViewById(R.id.viewFlipper); popup.setAnimationStyle(R.anim.popupmenu); viewFilpper.setInAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_in)); viewFilpper.setOutAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_out)); viewFilpper.setFlipInterval(60000); popup.setFocusable(true); popup.setWidth(120); popup.setHeight(80); popup.showAtLocation(MyActivity.this.findViewById(R.id.button1), Gravity.CENTER, 0, 0); viewFilpper.startFlipping(); } if(v.getId()==R.id.button2){ layoutInflater = LayoutInflater.from(context); Dialog dialog = new Dialog(MyActivity.this); View popView = layoutInflater.inflate(R.layout.popupwindow, null); dialog.setContentView(popView); dialog.setCancelable(true); viewFilpper = (ViewFlipper) popView.findViewById(R.id.viewFlipper); viewFilpper.setInAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_in)); viewFilpper.setOutAnimation(AnimationUtils.loadAnimation(context, R.anim.menu_out)); viewFilpper.setFlipInterval(60000); dialog.show(); viewFilpper.startFlipping(); } } }
3.主配置文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@drawable/background" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <ImageButton android:layout_width="wrap_content" android:background="#00000000" android:id="@+id/imageView1" android:layout_height="wrap_content" android:src="@drawable/wei" android:layout_gravity="center"/> <Button android:id="@+id/button1" android:background="#b0000000" android:layout_margin="5px" android:text="弹出PopupWindow" android:layout_height="60px" android:layout_width="fill_parent"></Button> <Button android:id="@+id/button2" android:background="#b0000000" android:layout_margin="5px" android:text="弹出Dialog" android:layout_height="60px" android:layout_width="fill_parent"></Button> </LinearLayout>
4.popupWindow配置文件
<?xml version="1.0" encoding="utf-8"?> <ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/viewFlipper" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:gravity="center" android:layout_height="wrap_content" android:layout_gravity="center" > <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@+id/deleat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/menu_delete" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="删除"/> </LinearLayout> <Button android:id="@+id/speed" android:layout_width ="wrap_content" android:layout_height="wrap_content" android:text="添加"/> </LinearLayout> </ViewFlipper>
5.一点说明
对于Button和ImageButton 还有一些View 设置半透明或者透明都是通过 android:background="#b0000000" 这是就是半透明 android:background="#00000000" 就是全透明 android:background="#FFFFFFFF" 就是不透明 介于中间的可以来自己设置透明度
用户评论