xml文件
1.main.xml
<?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="fill_parent"    android:background="@android:color/white"    android:orientation="horizontal"    >    <LinearLayout        android:id="@+id/title_layout"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_centerVertical="true"        android:background="@drawable/bg"         android:gravity="center">        <TextView            android:id="@+id/title"            android:text="@string/str_title"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:singleLine="true"            android:textSize="@dimen/size_title"             android:textColor="@android:color/white"/>        <ImageView            android:id="@+id/arrow"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:layout_marginLeft="5dip"            android:background="@drawable/icon_arrow_down"       />    </LinearLayout></LinearLayout>

2.pop.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:gravity="center"    android:layout_width="fill_parent"    android:layout_height="fill_parent"><!--   <ListViewandroid:id="@+id/pop_list"    android:layout_width="fill_parent"     android:layout_height="wrap_content"android:dividerHeight="2dip" android:cacheColorHint="#00000000"    ></ListView>  -->   <TextView       android:layout_width="fill_parent"     android:layout_height="wrap_content"    android:textColor="#000000"    android:text="城市:"      />  <EditText       android:layout_width="fill_parent"     android:layout_height="wrap_content"    android:lines="1"      />   <TextView       android:layout_width="fill_parent"     android:layout_height="wrap_content"    android:textColor="#000000"    android:text="地点:"      />  <EditText       android:layout_width="fill_parent"     android:layout_height="wrap_content"    android:lines="1"      />  <Button       android:layout_width="wrap_content"     android:layout_height="wrap_content"    android:text=" 确 定 "      />  </LinearLayout>

3.(activity)PopwindowActivity.java
import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import android.app.Activity;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.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.PopupWindow;import android.widget.PopupWindow.OnDismissListener;import android.widget.SimpleAdapter;import android.widget.Toast;public class PopwindowActivity extends Activity{private ImageView arrow;private boolean isOpenPop = false;private PopupWindow window;private ListView list;private LinearLayout title_layout;public static final String KEY = "key";ArrayList<Map<String, Object>> items = new ArrayList<Map<String, Object>>();Context mContext;@Overrideprotected void onCreate(Bundle savedInstanceState){// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main);mContext = this;arrow = (ImageView) findViewById(R.id.arrow);title_layout = (LinearLayout) findViewById(R.id.title_layout);title_layout.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){// TODO Auto-generated method stubchangPopState(v);}});}/** * 更改Pop状态 * */public void changPopState(View v){isOpenPop = !isOpenPop;if (isOpenPop){arrow.setBackgroundResource(R.drawable.icon_arrow_up);popAwindow(v);} else{arrow.setBackgroundResource(R.drawable.icon_arrow_down);if (window != null){window.dismiss();}}}private void popAwindow(View parent){if (window == null){LayoutInflater lay = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);View v = lay.inflate(R.layout.pop, null);window = new PopupWindow(v, 260, 300);int x = (int) getResources().getDimension(R.dimen.pop_x);int y = (int) getResources().getDimension(R.dimen.pop_y);window = new PopupWindow(v, x, y);}window.setBackgroundDrawable(getResources().getDrawable(R.drawable.pop_bg));window.setFocusable(true);window.setOutsideTouchable(false);window.setOnDismissListener(new OnDismissListener(){@Overridepublic void onDismiss(){// TODO Auto-generated method stubisOpenPop = false;arrow.setBackgroundResource(R.drawable.icon_arrow_down);}});window.update();window.showAtLocation(parent, Gravity.CENTER_HORIZONTAL | Gravity.TOP,0, (int) getResources().getDimension(R.dimen.pop_layout_y));}}

更多相关文章

  1. android8.0屏蔽状态栏下拉
  2. Android手机屏幕的三种状态
  3. Android沉浸式状态栏(二)
  4. 沉浸式状态栏StatusBar
  5. Android全屏,隐藏状态栏和标题栏
  6. Android沉浸式状态栏、导航栏
  7. android 状态栏 时间 错误 adb连接
  8. Android状态机
  9. android设置状态栏颜色

随机推荐

  1. android自带Base64加密解密
  2. Android再次按back键退出
  3. 45个android实例源码
  4. 使一个button无效时变灰
  5. android获取手机通讯录联系人
  6. android 可滑动的View
  7. 解决 ButterKnife8.2.1 与 Dagger2.5 冲
  8. webview 底部被遮住
  9. Android(安卓)Studio基础之项目目录结构(
  10. Android(安卓)手机震动