package com.ljmin;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout.LayoutParams;
import android.widget.PopupWindow;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button button;
public PopupWindow mPopupWindow;
private boolean flag = false; // false表示没显示
public Thread thread;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
//触摸监听
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: //按下监听
Log.i("log", "flag:---"+flag);
//改变显示状态并改变标记
if (!flag) {
flag = true;
check();
//设置mPopupWindow为显示,并设置位置
mPopupWindow.showAtLocation(findViewById(R.id.linear),
Gravity.RIGHT | Gravity.BOTTOM, 0, 0);
//如果当前为显示,则启动线程
if (flag = true) {
thread = new Thread(new MyRunnable());
thread.start();
}
} else {
flag = false;
mPopupWindow.dismiss();
}
Log.i("log", "flag:+++"+flag);
break;
case MotionEvent.ACTION_UP: //抬起监听
break;
default:
break;
}
//注意:这里要返回true
return true;
}
class MyRunnable implements Runnable{
int i = 0;
@Override
public void run() {
while (i <= 5 && flag) {
i++;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.i("log", "i:" + i);
//这里设置为5秒后消失,并改变标记
if (i == 5) {
mPopupWindow.dismiss();
flag = false;
}
}
}
}
private void check() {
//绑定布局
View view = getLayoutInflater().inflate(R.layout.control, null);
//mPopupWindow不显示时
if (mPopupWindow == null) {
//设置mPopupWindow
mPopupWindow = new PopupWindow(view, LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
//注意button要从绑定的布局里拿
button = (Button) view.findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "---------", 1).show();
}
});
}
//mPopupWindow显示时设为消失
if (mPopupWindow.isShowing()) {
mPopupWindow.dismiss();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
浮动窗口播放器.zip
共30个文件
class:9个
png:6个
xml:4个
0 下载量 149 浏览量
2024-04-19
20:27:17
上传
评论
收藏 114KB ZIP 举报
温馨提示
android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台
资源推荐
资源详情
资源评论
收起资源包目录
浮动窗口播放器.zip (30个子文件)
浮动窗口播放器
javaapk.com
project.properties 361B
.classpath 364B
src
com
ljmin
MainActivity.java 2KB
res
drawable-mdpi
ic_launcher.png 3KB
drawable-ldpi
ic_launcher.png 2KB
values
strings.xml 174B
layout
main.xml 427B
control.xml 521B
drawable-hdpi
ic_launcher.png 4KB
bin
classes
com
ljmin
MainActivity$1.class 869B
R$string.class 400B
R$layout.class 398B
R$id.class 388B
R$attr.class 313B
R$drawable.class 380B
MainActivity.class 3KB
MainActivity$MyRunnable.class 1KB
R.class 468B
resources.ap_ 11KB
popupWindow.apk 15KB
res
drawable-mdpi
ic_launcher.png 2KB
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
full.apk 15KB
classes.dex 5KB
proguard.cfg 1KB
.project 847B
AndroidManifest.xml 726B
gen
com
ljmin
R.java 839B
155716jmwymn7zo8t8n89t.jpg 30KB
共 30 条
- 1
资源评论
Soft_Leader
- 粉丝: 1049
- 资源: 1628
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功