欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

    <p id="wbojh"><tr id="wbojh"><label id="wbojh"></label></tr></p>

    <form id="wbojh"><tr id="wbojh"></tr></form>

    自定義PopupWindow動畫效果

    系統 1972 0
    自定義PopupWindow動畫效果

        
    public class RollActivity extends Activity {
    	private View view;
    	private Button btn;
    	private PopupWindow mPopupWindow;
    	private View[] btns;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    //		LinearLayout layout=(LinearLayout) view.findViewById(R.id.layout_main);
    //		//設置背景圖片旋轉180
    //		Bitmap mBitmap=setRotate(R.drawable.bg_kuang);
    //		BitmapDrawable drawable=new BitmapDrawable(mBitmap);
    //		layout.setBackgroundDrawable(drawable);
            
            btn=(Button) this.findViewById(R.id.btn);
            btn.setOnClickListener(new OnClickListener(){
    
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				showPopupWindow(btn);
    			}
            	
            });
            
            initPopupWindow(R.layout.popwindow);
    
        }
        
    	private void initPopupWindow(int resId){
    		LayoutInflater mLayoutInflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
    	    view = mLayoutInflater.inflate(resId, null);
    	        
    		mPopupWindow = new PopupWindow(view, 400,LayoutParams.WRAP_CONTENT);
    //		mPopupWindow.setBackgroundDrawable(new BitmapDrawable());//必須設置background才能消失
    		mPopupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg_frame));
    		mPopupWindow.setOutsideTouchable(true);
    		
    		//自定義動畫
    //		mPopupWindow.setAnimationStyle(R.style.PopupAnimation);
    		//使用系統動畫
    		mPopupWindow.setAnimationStyle(android.R.style.Animation_Dialog);
    		mPopupWindow.update();
    		mPopupWindow.setTouchable(true);
    		mPopupWindow.setFocusable(true);
    		
    		btns=new View[3];
    		btns[0]=view.findViewById(R.id.btn_0);
    		btns[1]=view.findViewById(R.id.btn_1);
    		btns[2]=view.findViewById(R.id.btn_2);
    		btns[0].setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				//doSomething
    			}
    		});
    		btns[1].setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				//doSomething
    			}
    		});
    		btns[2].setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				//doSomething
    			}
    		});
    	}
    	private void showPopupWindow(View view) {
    		if(!mPopupWindow.isShowing()){
    //			mPopupWindow.showAsDropDown(view,0,0);
    			mPopupWindow.showAtLocation(view, Gravity.CENTER, 0, 0);
    		}
    	}
    	public Bitmap setRotate(int resId) {
    		Matrix mFgMatrix = new Matrix();
    		Bitmap mFgBitmap = BitmapFactory.decodeResource(getResources(), resId);
    		mFgMatrix.setRotate(180f);
    		return mFgBitmap=Bitmap.createBitmap(mFgBitmap, 0, 0, 
    				mFgBitmap.getWidth(), mFgBitmap.getHeight(), mFgMatrix, true);
    	}
    }
    
      


    PopupWindow的布局popwindow.xml
    注意3個LinearLayout里必須設置clickable和background,這樣當點擊上去的時候才會有點擊效果。
    android:clickable="true"
    android:background="@drawable/state_btn_pressed"

        
    <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout 
     		xmlns:android="http://schemas.android.com/apk/res/android"
     		android:layout_width="fill_parent"
    		android:layout_height="wrap_content" 
    		android:orientation="horizontal"
    		android:id="@+id/layout_main"
    		>
    		<LinearLayout android:layout_width="fill_parent"
    			android:layout_height="wrap_content"
    			android:orientation="vertical"
    			android:gravity="center_horizontal"
    			android:clickable="true"
    			android:background="@drawable/state_btn_pressed"
    			android:layout_weight="1"
    			android:id="@+id/btn_0"
    			>
    			<ImageView android:layout_width="wrap_content"
    				android:layout_height="wrap_content" 
    				android:scaleType="fitCenter"
    				android:src="@drawable/ic_call"
    				>
    			</ImageView>
    			<TextView android:layout_width="wrap_content"
    				android:layout_height="wrap_content" 
    				android:textColor="#000000"
    				android:textSize="18px"
    				android:text="電話">
    			</TextView>
    		</LinearLayout>
    		<LinearLayout android:layout_width="fill_parent"
    			android:layout_height="wrap_content"
    			android:orientation="vertical"
    			android:gravity="center_horizontal"
    			android:clickable="true"
    			android:background="@drawable/state_btn_pressed"
    			android:layout_weight="1"
    			android:id="@+id/btn_1"
    			>
    			<ImageView android:layout_width="wrap_content"
    				android:layout_height="wrap_content" 
    				android:scaleType="fitCenter"
    				android:src="@drawable/ic_home"
    				>
    			</ImageView>
    			<TextView android:layout_width="wrap_content"
    				android:layout_height="wrap_content" 
    				android:textColor="#000"
    				android:textSize="18px"
    				android:text="空間">
    			</TextView>
    		</LinearLayout>
    		
    		<LinearLayout android:layout_width="fill_parent"
    			android:layout_height="wrap_content"
    			android:orientation="vertical"
    			android:gravity="center_horizontal"
    			android:clickable="true"
    			android:background="@drawable/state_btn_pressed"
    			android:layout_weight="1"
    			android:id="@+id/btn_2"
    			>
    			<ImageView android:layout_width="wrap_content"
    				android:layout_height="wrap_content" 
    				android:scaleType="fitCenter"
    				android:src="@drawable/ic_sms"
    				>
    			</ImageView>
    			<TextView android:layout_width="wrap_content"
    				android:layout_height="wrap_content" 
    				android:textColor="#000"
    				android:textSize="18px"
    				android:text="短信"
    				>
    			</TextView>
    		</LinearLayout>
    </LinearLayout>
    
      

    state_btn_pressed.xml,點擊的效果:
        
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"
            android:drawable="@drawable/bg_btn_pressed"
            android:padding="0dp"/>
    </selector>
    
      


    Android 模仿迅雷的 PopupWindow 出現/消失動畫
    出現:
        
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    	<scale android:fromXScale="0.6" android:toXScale="1.1"
    		android:fromYScale="0.6" android:toYScale="1.1" android:pivotX="50%"
    		android:pivotY="50%" android:duration="200" />
    	<scale android:fromXScale="1.0" android:toXScale="0.91"
    		android:fromYScale="1.0" android:toYScale="0.91" android:pivotX="50%"
    		android:pivotY="50%" android:duration="400" android:delay="200" />
    	<alpha android:interpolator="@android:anim/linear_interpolator"
    		android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="400" />
    </set>
    
      

    消失:
        
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    	<scale android:fromXScale="1.0" android:toXScale="1.25"
    		android:fromYScale="1.0" android:toYScale="1.25" android:pivotX="50%"
    		android:pivotY="50%" android:duration="200" />
    	<scale android:fromXScale="1.0" android:toXScale="0.48"
    		android:fromYScale="1.0" android:toYScale="0.48" android:pivotX="50%"
    		android:pivotY="50%" android:duration="400" android:delay="200" />
    	<alpha android:interpolator="@android:anim/linear_interpolator"
    		android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="400" />
    </set>
    
      

    最后用下面的 XML 封裝:
        
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    	<style name="PopupAnimation" parent="android:Animation"
    		mce_bogus="1">
    		<item name="android:windowEnterAnimation">@anim/anim_dialog_show</item>
    		<item name="android:windowExitAnimation">@anim/anim_dialog_hide</item>
    	</style>
    </resources>
    
      

    自定義PopupWindow動畫效果


    更多文章、技術交流、商務合作、聯系博主

    微信掃碼或搜索:z360901061

    微信掃一掃加我為好友

    QQ號聯系: 360901061

    您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

    【本文對您有幫助就好】

    您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

    發表我的評論
    最新評論 總共0條評論
    主站蜘蛛池模板: 黑色丝袜美女被狂躁 | 免费一级片在线观看 | 欧美日韩中文字幕一区二区高清 | 深夜福利一区二区 | 亚洲欧洲视频在线观看 | 欧美久久xxxxxx影院 | 欧美精品九九99久久在观看 | 精品一区二区久久久久久久网站 | 91免费在线视频 | 久久高清 | a级片视频网站 | 一区二区福利视频 | 额去鲁97在线观看视频 | 亚洲欧美日韩中文综合v日本 | 日日骚av | 性做爰片免费视频毛片中文ILO | 国产精品视频网站 | 国产精品成人不卡在线观看 | 午夜寂寞在线观看 | 国产精品久久久久影院色老大 | 波多野结衣在线高清视频 | 91视频这里只有精品 | a毛片视频网站 | 99这里只有精品视频 | 国产欧美视频在线观看 | 五月婷在线 | 欧美影院| 久久国产乱子伦精品免 | 国产91精品黄网在线观看 | 亚洲成人一区二区三区 | 欧美一级特黄aaaaaaa在线观看 | 久久这里只有精品23 | 欧美 亚洲 一区 | 亚洲欧美一区二区三区另类 | 国产αv| 色天堂影院 | 亚洲免费人成在线视频观看 | 国产精品999在线观看 | 国产精品久久久久久久久久 | 成人在线激情网 | 国产福利在线免费 |