Android电子白板 视频会议电子白板

这篇博客详细介绍了如何在Android平台上实现电子白板功能,特别是在视频会议场景中。通过服务器进行数据传输和转发,文章提供了一段关键的MainActitvty.java主类代码示例。
摘要由CSDN通过智能技术生成

Android电子白板   实现了功能。服务器传送和转发没放:废话不说直接贴代码了


MainActitvty.java(主类)

package com.ubi.whitebord;

import comm.ubi.util.DashPoint;
import comm.ubi.util.Point;
import comm.ubi.util.PointData;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.Spinner;

public class MainActivity extends Activity {
	private LinearLayout linearLayout;
	private DrawView m_view;
	private int m_type=1;
	private Boolean selectStatus=false;
	private int resetDrawType;
	
	@Override
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		Spinner s1 = (Spinner)findViewById(R.id.spinner01);
		s1.setPrompt("选择权限");
		String[] mItems = getResources().getStringArray(R.array.spinnermodel);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_gallery_item,mItems);
		//样式
		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		s1.setAdapter(adapter);
		s1.setSelection(1, true);
		
		linearLayout = (LinearLayout)findViewById(R.id.main_tab_container);
		linearLayout.setOnTouchListener(new touchListener());
		//画笔
		RadioButton button3 = (RadioButton)findViewById(R.id.radio_button3);
		button3.setOnClickListener(new button3ClickListener());
		//直线
		RadioButton button4 = (RadioButton)findViewById(R.id.radio_button4);
		button4.setOnClickListener(new button4ClickListener());
		//空心矩形
		RadioButton button5 = (RadioButton)findViewById(R.id.radio_button5);
		button5.setOnClickListener(new button5ClickListener());
		//实心矩形
		RadioButton button6=(RadioButton)findViewById(R.id.radio_button6);
		button6.setOnClickListener(new button6ClickListener());
		//空心圆
		RadioButton button7=(RadioButton)findViewById(R.id.radio_button7);
		button7.setOnClickListener(new button7ClickListener());
		//实心圆
		RadioButton button8=(RadioButton)findViewById(R.id.radio_button8);
		button8.setOnClickListener(new button8ClickListener());
		//选中用虚线的矩形
		RadioButton button1 = (RadioButton)findViewById(R.id.radio_button1);
		button1.setOnClickListener(new button1Clicklistener());
		//选中删除功能
		RadioButton button2 = (RadioButton)findViewById(R.id.radio_button2);
		button2.setOnClickListener(new button2ClickListenner());
		
		
		//清空
		Button clear_button_top = (Button)findViewById(R.id.clear_button_top);
		clear_button_top.setOnClickListener(new clearButtonListenner());
		
		init();
	}
	
	private class button2ClickListenner implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_view.setDashListClear();
			m_type=8;
		}
	}
	
	private class clearButtonListenner implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_view.setClearArrayList();
			m_view.setDashListClear();
			m_view.invalidate();
		}
	}
	
	private class button1Clicklistener implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_view.setDashListClear();
			m_type=7;
		}
	}
	
	/*private class button9ClickListener implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_type=7;
		}
	}*/
	
	private class button8ClickListener implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_view.setDashListClear();
			m_type=6;
		}
	}
	
	private class button7ClickListener implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_view.setDashListClear();
			m_type=5;
		}
	}
	
	private class button6ClickListener implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_view.setDashListClear();
			m_type=4;
		}
	}
	
	private class button5ClickListener implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_view.setDashListClear();
			m_type=3;
		}
	}
	
	private class button4ClickListener implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_view.setDashListClear();
			m_type=1;
		}
	}
	
	private class button3ClickListener implements OnClickListener{
		@Override
		public void onClick(View v) {
			m_view.setDashListClear();
			m_type=2;
		}
	}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
	
	private void init(){
		m_view=new DrawView(this);
		linearLayout.addView(m_view);
	}
	
	private class touchListener implements OnTouchListener
	{
		PointData obj;
		Point pointvalue;
		@Override
		public boolean onTouch(View v, MotionEvent event) 
		{
			float x = event.getX(); 
			float y = event.getY();
			
			switch(event.getAction())
			{
				case MotionEvent.ACTION_DOWN:
					m_view.moveObj.Init();
					
					obj=new PointData();
					obj.leftx=x;
					obj.lefty=y;
					//当选中的图形做标记
					if(!m_view.dashList.isEmpty())
					{
						for(int i1=0; i1<m_view.dashList.size(); i1++)
						{
							DashPoint objSelect = m_view.dashList.get(i1);
							if((int)x>=(int)objSelect.left && (int)x<=(int)objSelect.right && (int)y>=(int)objSelect.top && (int)y<=(int)objSelect.bottom)
							{
								selectStatus=true;
							}
							
							if((int)x<=(int)objSelect.left && (int)x>=(int)objSelect.
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值