本案例比较简单,就是使用activity自定义成Dialog样式的加载页面,就是弹出框形式。

第一步:我们先对下拉页面的样式进行定义MyDialogStyleTop,在styles.xml文件中,如下:

  <style name="AnimTop" parent="@android:style/Animation">

        <item name="android:windowEnterAnimation">@anim/push_top_in</item>        <item name="android:windowExitAnimation">@anim/push_top_out</item>    </style>    <style name="MyDialogStyleTop" parent="android:Theme.Dialog">        <item name="android:windowAnimationStyle">@style/AnimTop</item>        <item name="android:windowFrame">@null</item> <!-- 边框 -->        <item name="android:windowIsFloating">true</item> <!-- 是否浮现在activity之上 -->        <item name="android:windowIsTranslucent">true</item> <!-- 半透明 -->        <item name="android:windowNoTitle">true</item> <!-- 无标题 -->        <item name="android:windowBackground">@android:color/transparent</item> <!-- 背景透明 -->        <item name="android:backgroundDimEnabled">false</item> <!-- 模糊 -->    </style>

第二步;设计加载页面的xml布局top_dialog.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" >    <RelativeLayout        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:layout_marginTop="46dp" >        <LinearLayout            android:id="@+id/main_dialog_layout"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentTop="true"            android:layout_centerHorizontal="true"            android:background="@drawable/group_bg"            android:orientation="vertical" >            <LinearLayout                android:layout_width="match_parent"                android:layout_height="wrap_content" >                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:padding="8dp"                    android:text="全部"                    android:textColor="#fff"                    android:textSize="18sp" />            </LinearLayout>            <LinearLayout                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:background="@drawable/grouplist_item_bg_prs" >                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:padding="8dp"                    android:text="我的微薄"                    android:textColor="#00cc00"                    android:textSize="18sp" />            </LinearLayout>            <LinearLayout                android:layout_width="match_parent"                android:layout_height="wrap_content" >                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:padding="8dp"                    android:text="周边"                    android:textColor="#fff"                    android:textSize="18sp" />            </LinearLayout>            <LinearLayout                android:layout_width="match_parent"                android:layout_height="wrap_content" >                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:padding="8dp"                    android:text="特别关注"                    android:textColor="#fff"                    android:textSize="18sp" />            </LinearLayout>        </LinearLayout>    </RelativeLayout></RelativeLayout>

第三步:创建dropPopupWindow类继承Activity,我这里没有做任何操作,直接显示xml布局内容,根据需要自己设计,代码如下:

import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.view.View.OnClickListener;import android.widget.LinearLayout;import android.widget.Toast;public class dropPopupWindow extends Activity{private LinearLayout layout;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.top_dialog);layout=(LinearLayout)findViewById(R.id.main_dialog_layout);layout.setOnClickListener(new OnClickListener() {public void onClick(View v) {Toast.makeText(getApplicationContext(), "提示:点击窗口外部关闭窗口!", Toast.LENGTH_SHORT).show();}});}@Overridepublic boolean onTouchEvent(MotionEvent event){finish();return true;}}

第四步:在首页中设置标题文本监听事件点击启动列表:

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 {private TextView title;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);title = (TextView) this.findViewById(R.id.title);// 把文字控件添加监听,点击弹出自定义窗口title.setOnClickListener(new OnClickListener() {public void onClick(View v) {// 使用startActivityForResult启动picPopupWindowstartActivity(new Intent(MainActivity.this,dropPopupWindow.class));}});}}

第五步;运行效果如下:


android 使用activity自定义下拉选择列表

更多相关文章

  1. 第七章 布局
  2. Android 5.0上动态布局层级覆盖问题
  3. Android自适应不同分辨率或不同屏幕大小的layout布局(横屏|竖屏)
  4. Android中自定义标题栏样式的两种方法
  5. Android中自定义下拉样式Spinner
  6. Android样式基础--drawable篇
  7. 安卓课程六 android常用布局属性的介绍
  8. Android 约束布局(ConstraintLayout)的使用

随机推荐

  1. Android(安卓)SDK 4.2 正式版发布
  2. android定位并获取城市
  3. Android建筑图像过滤器,如Instagram(1)
  4. android 兼容各个版本 读取通讯录
  5. Android约束布局
  6. Android多媒体学习三:实现自己的Camera
  7. JBox2D 引擎 for Android(安卓)详解
  8. Android高人必修 Ant 编译Android工程
  9. 2014-11-8Android学习------Android(安卓
  10. JNI之------NDK开发环境的配置