溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2020-09-26 09:22:41 來源:腳本之家 閱讀:367 作者:lfdfhl 欄目:移動(dòng)開發(fā)

本文實(shí)例為大家分享了Android仿Iphone屏幕底部彈出效果的具體代碼,供大家參考,具體內(nèi)容如下

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());
  //設(shè)置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("點(diǎn)擊了確定按鈕");
  break;
  case R.id.cancleButton:
  popupWindow.dismiss();
  break;
  default:
  break;
  }

 }}
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI