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.