Back to project page markj.
The source code is released under:
GNU Lesser General Public License
If you think the Android project markj listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.markjmind.mobile.api.android.ui.drawgraph; // ww w.j av a 2 s. c o m import java.util.ArrayList; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Align; import android.util.AttributeSet; import android.view.View; /** * Board????? Board??? ??? ?????? ???? ????? ???????. * @author ??? * @phone 010-2898-7850 * @email markjmind@gmail.com * @date 2014. 6. 25. */ public class GraphBoard extends View{ private int maxTopMargin; private int maxBottomMargin; private ArrayList<GraphSkin> graphSkinList= new ArrayList<GraphSkin>(); public GraphBoard(Context context) { super(context); init(); } public GraphBoard(Context context, AttributeSet attrs) { super(context, attrs); init(); } /** * board? ?????. */ public void init(){ maxTopMargin = 0; maxBottomMargin = 0; graphSkinList.clear(); } /** * board?? ????? ????. * @param skin ??? ?? */ public void addSkin(GraphSkin skin){ if(skin.getBoradTopMargin()>maxTopMargin){ maxTopMargin = skin.getBoradTopMargin(); } if(skin.getBoradBottomMargin()>maxBottomMargin){ maxBottomMargin = skin.getBoradBottomMargin(); } graphSkinList.add(skin); invalidate(); } /** * board?? ????? ????. * @param skin ??? ?? */ public void removeSkin(GraphSkin skin){ graphSkinList.remove(skin); invalidate(); } /** * ??? Margin??? ????. * @param topMargin */ public void setMaxTopMargin(int topMargin){ maxTopMargin = topMargin; } /** * ?? Margin??? ????. * @param bottomMargin */ public void setMaxBottomMargin(int bottomMargin){ maxBottomMargin = bottomMargin; } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); for(int i=0;i<graphSkinList.size();i++){ GraphSkin skin = graphSkinList.get(i); skin.setHeight(getHeight()-maxTopMargin-maxBottomMargin); skin.setWidth(getWidth()); skin.setTopMargin(maxTopMargin); skin.setBottomMargin(maxBottomMargin); skin.draw(canvas); } } }