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));
}
});
}
}
相关文章推荐
- 获得android手机中的传感器信息
- Android 圆角带边框的Button
- Android SharedPreferences在不同应用模块里通信
- 0917Android基础自定义View(Path)
- android学习:service 绑定,与服务进行通信
- Android Matrix
- Android图形图像之以Bitmap作为Canvas画布的材料
- android自定义属性
- Android开发主要知识点总结
- Android 平台下使用 i2c-tools
- android图形图像处理PorterDuffXfermode
- android打包so文件到apk
- android打包so文件到apk
- android打包so文件到apk
- Android自定义View之图形图像Bitmap
- Android系列之Fragment(一)----Fragment加载到Activity当中
- Android--Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- Android布局属性LayoutParams的理解
- Android MediaPlayer 播放本地与远程的mp3初步
- 自定义listview出现android.view.InflateException:Binary xml file line#