QQの下でフレームコード(哺乳瓶)をポップアップすることを実現します

6702 ワード

alert_dialog.Xmlコードコレクションコード
xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"android:orientation="vertical"
android:id="@+id/pop_layout"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"android:orientation="vertical"android:layout_alignParentBottom="true"android:background="@drawable/btn_style_alert_dialog_background"


第二步:创建SelectPicPopupWindow类继承Activity类并实现OnClickListener接口(可以不用在这里实现这个借口,根据自己需要和方便实现),其他代码实现跟编写常规Activity一样就OK,如下:

Java代码 收藏代码

mport android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;

public class SelectPicPopupWindow extends Activity implements OnClickListener{

private Button btn_take_photo, btn_pick_photo, btn_cancel;  
private LinearLayout layout;  
  
@Override  
protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.alert_dialog);  
    btn_take_photo = (Button) this.findViewById(R.id.btn_take_photo);  
    btn_pick_photo = (Button) this.findViewById(R.id.btn_pick_photo);  
    btn_cancel = (Button) this.findViewById(R.id.btn_cancel);  
      
    layout=(LinearLayout)findViewById(R.id.pop_layout);  
      
    //                  ,     onTouchEvent()  ,         onTouchEvent()    Activity  
    layout.setOnClickListener(new OnClickListener() {  
          
        public void onClick(View v) {  
            // TODO Auto-generated method stub  
            Toast.makeText(getApplicationContext(), "  :          !",   
                    Toast.LENGTH_SHORT).show();   
        }  
    });  
    //        
    btn_cancel.setOnClickListener(this);  
    btn_pick_photo.setOnClickListener(this);  
    btn_take_photo.setOnClickListener(this);  
}  
  
//  onTouchEvent             Activity  
@Override  
public boolean onTouchEvent(MotionEvent event){  
    finish();  
    return true;  
}  

public void onClick(View v) {  
    switch (v.getId()) {  
    case R.id.btn_take_photo:  
        break;  
    case R.id.btn_pick_photo:                 
        break;  
    case R.id.btn_cancel:                 
        break;  
    default:  
        break;  
    }  
    finish();  
}  

}
ステップ3:MainActivityクラスを作成します.ここでは簡単に、先ほど実現したウィンドウのMainActivityをクリックして起動すればいいです.
@@Javaコードお気に入りコード
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView;
public class MainActivity extends Activity {
@Override  
public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);  
    TextView tv = (TextView) this.findViewById(R.id.text);  
    //         ,           
    tv.setOnClickListener(new OnClickListener() {             
        public void onClick(View v) {  
            startActivity(new Intent(MainActivity.this,SelectPicPopupWindow.class));  
        }  
    });  
}  

}
ステップ4:AndroidManifest.xmlのSelectPicPopupWindowの構成は、通常とは異なり、activityにandroid:themeプロパティを追加します.次のようにします.
Xmlコードコレクションコード
ステップ5:このステップは、この例を実現するために最も重要な部分であり、Android:themeプロパティスタイルを設定して、この例に必要な効果を実現することです.以下のようにします.
Xmlコードコレクションコード
<br> <item name="android:windowEnterAnimation">@anim/push_bottom_in</item><br> <item name="android:windowExitAnimation">@anim/push_bottom_out</item><br>
<br> <item name="android:windowAnimationStyle">@style/AnimBottom</item><br> <item name="android:windowFrame">@null</item><br> ;!-- 外枠--><br> <item name="android:windowIsFloating">true</item><br> ;!-- activityに浮かぶかどうか--><br> <item name="android:windowIsTranslucent">true</item><br> ;!-- 半透明--><br> <item name="android:windowNoTitle">true</item><br> ;!-- タイトルなし--><br> <item name="android:windowBackground">@android:color/transparent</item><br> ;!-- 背景が透明--><br> <item name="android:backgroundDimEnabled">true</item><br> ;!-- ぼかし--><br>
ステップ6:ポップアップと破棄時のアニメーション効果コードを貼り付けます.
push_bottom_in.xml Xmlコードお気に入りコード
        

push_buttom_out.xml Xmlコードコレクションコード
  

注意:この2つのxmlはres/animのanimフォルダの下に置く必要があります.
注意:
内側
...メインActivityの外
    

注意:MainActivity.javaのXMLファイルにid:textを入れます.
注意:drawableの中のButtonのすべてのStyleはすべてなくて、自分で作成することができて、しばらく#ffffの代わりに色を使うことができます
以上のコードは参考と学习だけに供して、间违いがあったら大牛に指导してもらって、ありがとうございます.