你的位置:首页 > 操作系统

[操作系统][android] 练习PopupWindow实现对话框


练习使用Dialog实习对话框

package com.example.tsh;import android.app.Activity;import android.app.Dialog;import android.os.Bundle;import android.os.Handler;import android.view.MotionEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnTouchListener;import android.view.ViewGroup.LayoutParams;import android.widget.Button;import android.widget.PopupWindow;public class MainActivity extends Activity {  private Handler handler=new Handler();  @Override  protected void onCreate(Bundle savedInstanceState) {    // TODO Auto-generated method stub    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //Dialog实现对话框    Dialog dialog=new Dialog(this,R.style.Theme_Tsh_Dialog);    dialog.setContentView(R.layout.activity_two);    dialog.show();          }}

styles.

<??><resources ="http://schemas.android.com/apk/res/android">    <!-- 自定义对话框主题 -->  <style name="Theme.Tsh.Dialog" parent="@android:style/Theme.Dialog">    <item name="android:windowBackground">@null</item>  </style></resources>

练习使用PopupWindow实现对话框

package com.example.tsh;import android.app.Activity;import android.app.Dialog;import android.os.Bundle;import android.os.Handler;import android.view.MotionEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnTouchListener;import android.view.ViewGroup.LayoutParams;import android.widget.Button;import android.widget.PopupWindow;public class MainActivity extends Activity {  private Handler handler=new Handler();  @Override  protected void onCreate(Bundle savedInstanceState) {    // TODO Auto-generated method stub    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //Dialog实现对话框//    Dialog dialog=new Dialog(this,R.style.Theme_Tsh_Dialog);//    dialog.setContentView(R.layout.activity_two);//    dialog.show();        //使用PopupWindow实现对话框    Button dropDown=(Button) findViewById(R.id.bt_dropdown);    dropDown.setOnClickListener(new OnClickListener() {      @Override      public void onClick(View arg0) {        View anchor=View.inflate(MainActivity.this, R.layout.activity_two, null);        final PopupWindow popupWindow=new PopupWindow(anchor, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,true);                //点击空白隐藏        popupWindow.setTouchable(true);        popupWindow.setTouchInterceptor(new OnTouchListener() {                    @Override          public boolean onTouch(View arg0, MotionEvent arg1) {            popupWindow.dismiss();            return false;          }        });        popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_launcher));        popupWindow.showAsDropDown(arg0);              }    });      }}

activity_main.

<??><LinearLayout ="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical" >    <TextView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:text="第一个界面"/>  <Button     android:id="@+id/bt_dropdown"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="显示下拉"    /></LinearLayout>