android Activity实现从右边弹出或滑出选择菜单或窗口

2024-08-30 03:48

本文主要是介绍android Activity实现从右边弹出或滑出选择菜单或窗口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

android Activity实现从底部弹出或滑出选择菜单或窗口 http://104zz.iteye.com/blog/1685425

一下是android Activity实现从右边弹出或滑出选择菜单或窗口:
main布局:
/SelectPicPopupWindow/res/layout/activity_main.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="wrap_content"android:gravity="center_horizontal"android:orientation="vertical"><TextView android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/text"android:text="按我彈窗口"/>
</RelativeLayout>
弹窗口的布局:
/SelectPicPopupWindow/res/layout/alert_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="wrap_content" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal" ><LinearLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1" ></LinearLayout><LinearLayoutandroid:id="@+id/pop_layout"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:orientation="vertical"android:background="#ffffff" ></LinearLayout></LinearLayout>
</RelativeLayout>
/SelectPicPopupWindow/src/com/lxm/selectpicpopupwindow/SelectPicPopupWindow.java
package com.lxm.selectpicpopupwindow;import java.util.ArrayList;
import java.util.List;import com.lxm.selectpicpopupwindow.been.Items;import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Toast;public class SelectPicPopupWindow extends Activity implements OnClickListener {//	private Button btn_take_photo, btn_pick_photo, btn_cancel;
//	private LinearLayout layout;
//	List<Items> items;
//	Items itemss;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.alert_dialog);
//		btn_take_photo = (Button) this.findViewById(R.id.btn_take_photo);
//		btn_pick_photo = (Button) this.findViewById(R.id.btn_pick_photo);
//		btn_cancel = (Button) this.findViewById(R.id.btn_cancel);
//		ListView listView = (ListView) findViewById(R.id.listview);
//		items = new ArrayList<Items>();
//		itemss = new Items();
//		for(int i=0;i<2;i++){
//			
//			itemss.setNo("11");
//			itemss.setItem_name("aa");
//			itemss.setSearch_time("cc");
//			items.add(itemss);
//		}
//		
//		MyAdapter adapter = new MyAdapter(getApplication(),items);
//		listView.setAdapter(adapter);
//		layout = (LinearLayout) findViewById(R.id.pop_layout);// 添加选择窗口范围监听可以优先获取触点,即不再执行onTouchEvent()函数,点击其他地方时执行onTouchEvent()函数销毁Activity
//		layout.setOnClickListener(new OnClickListener() {
//
//			public void onClick(View v) {
//				// TODO Auto-generated method stub
//				Toast.makeText(getApplicationContext(), "提示:点击窗口外部关闭窗口!",
//						Toast.LENGTH_SHORT).show();
//			}
//		});
//		// 添加按钮监听
//		btn_cancel.setOnClickListener(this);
//		btn_pick_photo.setOnClickListener(this);
//		btn_take_photo.setOnClickListener(this);}// 实现onTouchEvent触屏函数但点击屏幕时销毁本Activity@Overridepublic boolean onTouchEvent(MotionEvent event) {finish();return true;}
//
//	public void onClick(View v) {
//		switch (v.getId()) {
//		case R.id.btn_take_photo:
//			break;
//		case R.id.btn_pick_photo:
//			break;
//		case R.id.btn_cancel:
//			break;
//		default:
//			break;
//		}
//		finish();
//	}@Overridepublic void onClick(View v) {// TODO Auto-generated method stub}}
/SelectPicPopupWindow/src/com/lxm/selectpicpopupwindow/MainActivity.java
package com.lxm.selectpicpopupwindow;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ListView;
import android.widget.TextView;public class MainActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextView tv = (TextView) this.findViewById(R.id.text);//把文字控件添加监听,点击弹出自定义窗口tv.setOnClickListener(new OnClickListener() {			public void onClick(View v) {startActivity(new Intent(MainActivity.this,SelectPicPopupWindow.class));}});}}

/SelectPicPopupWindow/AndroidManifest.xml
<activity android:name=".SelectPicPopupWindow" android:theme="@style/MyDialogStyleBottom" /> 

/SelectPicPopupWindow/res/values/styles.xml
    <style name="AnimBottom" parent="@android:style/Animation"><item name="android:windowEnterAnimation">@anim/push_bottom_in</item><item name="android:windowExitAnimation">@anim/push_buttom_out</item></style><style name="MyDialogStyleBottom" parent="android:Theme.Holo.DialogWhenLarge"><item name="android:windowAnimationStyle">@style/AnimBottom</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">true</item></style>

/SelectPicPopupWindow/res/anim/push_bottom_in.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- 右左滑入式 -->
<set xmlns:android="http://schemas.android.com/apk/res/android" ><translateandroid:duration="200"android:fromXDelta="100%p"android:toXDelta="0"        />      
</set>
/SelectPicPopupWindow/res/anim/push_buttom_out.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- 左右滑出式 -->
<set xmlns:android="http://schemas.android.com/apk/res/android" ><translateandroid:duration="200"android:fromXDelta="0"android:toXDelta="100%p"        />      
</set>

效果图:


源码下载





这篇关于android Activity实现从右边弹出或滑出选择菜单或窗口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119708

相关文章

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u