`
104zz
  • 浏览: 1507739 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
阅读更多

 

本案例比较简单,就是使用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;
	@Override
	protected 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();	
			}
		});
	}

	@Override
	public 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;

	@Override
	public 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启动picPopupWindow
				startActivity(new Intent(MainActivity.this,dropPopupWindow.class));
			}
		});
	}
}
 

 

第五步;运行效果如下:

 


  • 大小: 26.5 KB
分享到:
评论
2 楼 0末流0 2015-04-23  
     
1 楼 babydeed 2012-11-06  
不错不错不错

相关推荐

    android平台自定义下拉列表

    在Android平台上,自定义下拉列表是一个常见的需求,特别是在创建用户界面时,为了提供良好的交互体验,开发者常常需要实现类似于Spinner的功能,但又不希望它弹出一个对话框(Dialog)。在这种情况下,我们可以使用...

    Android-自定义下拉选择框简单易用自带默认动画

    在创建自定义下拉选择框时,我们通常会基于PopupWindow进行扩展,以便添加我们需要的功能和样式。 接着,让我们详细讲解一下自定义下拉选择框的实现步骤: 1. **创建布局文件**:设计下拉选择框的界面布局,包括...

    android使用PopUpWindow自定义下拉框

    在Android开发中,`PopupWindow` 是一个非常实用的组件,它可以用来创建各种弹出式视图,如菜单、对话框或自定义的下拉框。本知识点将深入讲解如何利用`PopupWindow`来实现一个自定义的下拉框。 首先,`PopupWindow...

    自定义下拉刷新viewgroup

    总结起来,自定义下拉刷新Viewgroup是一个结合了Android基础知识、触摸事件处理、动画和回调机制的综合实践。通过这样的自定义实现,开发者可以创造出与应用品牌和用户体验相符的下拉刷新效果,提升整体应用的质量。

    Android自定义下拉框(PopupWindow实现)

    它通常用于创建快捷菜单、下拉列表或者其他临时性的UI元素。PopupWindow具有高度的可定制性,可以设置背景、宽度、高度、动画效果等。 下面我们将按照以下步骤来实现一个自定义的下拉框: 1. **创建布局文件**: ...

    Android自定义下拉刷新ListView

    总之,Android自定义下拉刷新ListView涉及到了手势检测、动画制作、适配器扩展、接口回调、布局设计等多个技术环节,每个环节都至关重要,需要开发者有扎实的Android基础和良好的编程习惯。通过不断地实践和优化,...

    Android自定义view实现下拉筛选菜单

    总之,自定义下拉筛选菜单是Android开发中的一个重要技巧,它涉及到布局设计、事件处理、动画应用等多个方面。通过实践和学习,开发者不仅可以提高自己的技能,还能为用户提供更加便捷、友好的交互体验。

    Android-自定义ListeView下拉刷新-可直接使用

    在给定的项目资源中,"Android-自定义ListView下拉刷新-可直接使用"应该包含了实现这些功能的代码示例。通过研究这些代码,开发者可以快速理解并应用到自己的项目中。需要注意的是,为了提高性能,避免在主线程中...

    Activity实现下拉刷新

    这篇博客(虽然链接不可用)可能讨论了如何在Android的Activity中集成和自定义下拉刷新功能。下面我们将深入探讨这个主题。 1. **SwipeRefreshLayout**: Android官方提供了一个叫做SwipeRefreshLayout的组件,它...

    Android中的下拉列表

    在Android开发中,下拉列表(Dropdown List)是一种常见的用户界面元素,用于展示一组可选择的选项。这种组件通常在有限的空间内展示大量的数据,并且可以让用户通过点击或滑动来展开和收起选项。本篇文章将深入探讨...

    android自定义listview,实现了下拉刷新,滑动操作,以及上拉加载

    以上就是关于在Android Studio中实现自定义ListView,包括下拉刷新、滑动操作和上拉加载的详细步骤。通过这些功能,可以极大地提升应用的用户体验,使得用户在浏览大量数据时更加便捷和舒适。在实际开发中,还可以...

    android studio,demo,Spinner下拉菜单多选的实现

    在Android开发中,Spinner是一个非常常见的控件,它通常用于展示一个下拉列表供用户选择。本教程将详细讲解如何在Android Studio 3.0.1环境下实现Spinner的多选功能,这对于创建交互式用户界面非常有用。 首先,...

    Android自定义的下拉刷新实例【源代码】

    综上所述,这个自定义下拉刷新实例展示了Android开发中的自定义View能力,手势检测,动画实现,以及如何将UI交互与业务逻辑分离。通过学习这个实例,开发者可以深入了解Android UI组件的扩展性,并掌握自定义下拉...

    自定义下拉列表(spinner)

    1. 自定义样式:可以通过修改`spinner_dropdown_item.xml`来改变下拉菜单的样式,或者使用`app:popupTheme`属性来应用全局的主题。 2. 动画效果:利用Animation API可以为Spinner添加展开和收起的动画效果,提高...

    android 下拉刷新列表

    然而,Android SDK自带的SwipeRefreshLayout只能处理简单的下拉刷新效果,如果你需要更复杂的功能,如自定义刷新动画或拖动排序(就像"DragListView"这个库提供的),可能需要使用第三方库。DragListView是一个支持...

    安卓下拉列表样式筛选组件(仿美团,popwindow实现方式)

    在Android应用开发中,用户界面的设计与交互是至关重要的,其中下拉列表样式的筛选组件是一种常见的交互元素,尤其在电商、生活服务类应用中,如美团,它们提供了便捷的筛选选项供用户快速定位需求。本篇将详细介绍...

    android studio自定义标题栏,可自定义回退按钮事件

    在Android开发中,自定义标题栏是提升应用用户体验和界面个性化的重要手段。Android Studio作为官方推荐的集成开发环境,提供了丰富的工具和API来帮助开发者实现这一目标。本篇将详细探讨如何在Android Studio中实现...

    Android自定义menu的实现

    在Android开发中,Menu通常用于显示应用程序中的操作选项,如在顶部栏或下拉菜单中。自定义Menu允许开发者根据应用需求设计独特的交互方式和视觉样式。本篇将深入探讨如何在Android中实现自定义Menu。 首先,我们...

Global site tag (gtag.js) - Google Analytics