MoveLayout 移动布局,实现控件联动


一个主动移动view,对应多个被动移动views


使用方法:

package com.movelayoutdemo;

import com.zjl.customview.MoveLayout;
import com.zjl.customview.MoveLayout.OnMovingListener;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
/**
 * @author ZhengJingle
 */
public class MainActivity extends Activity {
	MoveLayout ml_main;
	ImageView iv_active;
	Button button1;
	TextView tv,tv_x,tv_y;
    
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		ml_main=(MoveLayout)findViewById(R.id.ml_main);
		
		iv_active=(ImageView)findViewById(R.id.iv_active);
		tv=(TextView)findViewById(R.id.textView1);
		tv_x=(TextView)findViewById(R.id.tv_x);
		tv_y=(TextView)findViewById(R.id.tv_y);
		button1=(Button)findViewById(R.id.button1);
		button1.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO 自动生成的方法存根
				ml_main.moveToPrecent(1.0);//移动到百分比位置
			}
			
		});
		
		/* 
		 * 被动移动views
		 * 
		 * 如果你的被动移动view想实现复杂的移动,例如曲线移动,就不要在这里设置。
		 * 可以在下面OnMovingListener中的onMoving(double movingPrecent)里自己写代码实现。
		 */
		ml_main.setPassiveMoveItem(button1, 50, 500);
		ml_main.setPassiveMoveItem(tv_x, 500, 0);
		ml_main.setPassiveMoveItem(tv_y, 0, 800);
		
		//主动移动view
		ml_main.setActiveMoveItem(iv_active, 0, 0, false);
		
		//移动区域
		ml_main.setActiveMoveArea(false, 100, 400, 200, 800);
		
		//移动中监听
		ml_main.setOnMovingListener(new OnMovingListener(){

			@Override
			public void onMoving(double movingPrecent) {
				// TODO 自动生成的方法存根
				tv.setText(movingPrecent*100+"%");
			}
			
		});
		
	}
	
}



详细项目:

https://github.com/zhengjingle/MoveLayout

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值