您的位置:首页 > 移动开发 > Android开发

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

2015-09-17 20:43 477 查看



博客分类:

android Activity自定义Dialog

android
下拉列表android
下拉选择列表Activity实现下拉选择列表

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

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

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

Xml代码


<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代码


<?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布局内容,根据需要自己设计,代码如下:

Java代码


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;

}

}

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

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 {

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));

}

});

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: