长按圆形按钮结束事件,有颜色变化的效果,有源码
来源:互联网 发布:迅速出效果图软件 编辑:程序博客网 时间:2024/06/05 03:51
长按圆形按钮结束事件,有颜色变化的效果
项目中用到了长按圆形按钮触发结束当前事件的需求:此次讲的是
长按结束按钮进入另一个界面的需求实现。
具体实现比较简单:有用到了OnTouchListener事件,还有动态改变控件
高度的方法,用到了Handler。
具体代码如下:
public class Bo1MainActivity extends Activity implements OnClickListener {
private Button mButton;
private View frameLayout1;
private ImageView imageView2;
private Handler mHandler=new Handler();
private LayoutParams params;
private int mHeight;
private boolean isClick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (Button) findViewById(R.id.button1);
imageView2 = (ImageView) findViewById(R.id.imageView2);
frameLayout1 = findViewById(R.id.frameLayout1);
params = frameLayout1.getLayoutParams();
mHeight = params.height;
mButton.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
isClick=true;
startplay();
break;
case MotionEvent.ACTION_UP:
isClick=false;
endplay();
break;
default:
break;
}
return false;
}
});
}
private void endplay() {
params.height=mHeight;
frameLayout1.setLayoutParams(params);
}
private void startplay() {
mHandler.post(new Runnable() {
@Override
public void run() {
if (isClick) {
params.height+=3;
if (params.height>=imageView2.getHeight()) {
params.height=imageView2.getHeight();
startActivity(new Intent(Bo1MainActivity.this, Bo2Activity.class));
}else{
mHandler.postDelayed(this, 20);
}
frameLayout1.setLayoutParams(params);
}
}
});
}
@Override
public void onClick(View v) {
}
}
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.test_.Bo1MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="长按点击"
/>
<ImageView
android:id="@+id/imageView2"
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_centerInParent="true"
android:src="@drawable/circle2" />
<FrameLayout
android:id="@+id/frameLayout1"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_alignBottom="@+id/imageView2"
android:layout_alignLeft="@+id/imageView2" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_gravity="bottom"
android:scaleType="fitEnd"
android:src="@drawable/circle" />
</FrameLayout>
</RelativeLayout>
其中几个圆的shape图:
circle:XML
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<solid android:color="#FF0060" />
</shape>
circle2:xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<solid android:color="#A11E50" />
</shape>
跳转页面如下:
public class Bo2Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
}
}
源码下载地址如下:http://download.csdn.net/detail/lucky_bo/9025623
- 长按圆形按钮结束事件,有颜色变化的效果,有源码
- Android中如何实现圆形按钮的颜色变化
- 长按结束事件(在按钮外围显示进度条)
- winphone 有圆角,有按钮效果的StackPanel
- Unity3d实现组件有一定斜率变化的颜色渐变
- 按钮的toucheBegin和按钮的监听事件有冲突
- 点击按钮有水纹效果~~
- 点击按钮前中后,按钮颜色的变化
- android 按钮按下效果(文字颜色和按钮同时变化)
- 所有的UITextField都有字符串,UIButton按钮变颜色
- 按钮长按结束,实时进度动画
- listview的item中有checkbox,仍要整个item响应点击或长按事件
- cocos2dx 按钮长按事件
- ios按钮长按事件
- 安卓按钮有按下去的效果的实现方法
- android按钮被点击文字颜色变化效果
- android按钮被点击文字颜色变化效果
- android按钮点击时文字颜色变化效果
- 《AndroidStudio每日一贴》2.快速查看项目中最近的变更
- light oj 1094 Farthest Nodes in a Tree(树的直径模板)
- Java相关知识(一)
- java学习记录笔记
- 字符类型,变量,运算符,以及简单的输入输出.交换两个变量
- 长按圆形按钮结束事件,有颜色变化的效果,有源码
- PHP与JAVA通信
- C语言-数组.
- 归并排序(MergeSort)的原理及延伸性思考
- 小比赛(CodeForces 560A,UVA 11040,CodeForces 550B,HDU 1856,UVA 1644,CodeForces 560B,HDU 3405,UVA 10820)
- JS获取jsp里属性的值
- 如何获取视频路径
- CSDN-markdown编辑器基础语法
- Write the Code. Change the World