Android Open Source - codemap Zoomable Linear Layout From Project Back to project page codemap .
License The source code is released under:
GNU General Public License
If you think the Android project codemap listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.hdweiss.codemap.util;
/ * f r o m w w w . j a v a 2 s . c o m * /
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewParent;
import android.widget.LinearLayout;
import com.hdweiss.codemap.view.workspace.WorkspaceView;
public class ZoomableLinearLayout extends LinearLayout {
public ZoomableLinearLayout(Context context, AttributeSet attrs) {
super (context, attrs);
}
public float getScaleFactor() {
return ((WorkspaceView) getParent()).getScaleFactor();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// int widthMode = MeasureSpec.getMode(widthMeasureSpec);
// int widthSize = MeasureSpec.getSize(widthMeasureSpec);
//
// int heightMode = MeasureSpec.getMode(heightMeasureSpec);
// int heightSize = MeasureSpec.getSize(heightMeasureSpec);
float parentScale = getScaleFactor();
measureChildren(widthMeasureSpec, heightMeasureSpec);
int chosenHeight = 0;
int chosenWidth = 0;
for (int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
chosenHeight += child.getMeasuredHeight();
chosenWidth = Math.max(child.getMeasuredWidth(), chosenWidth);
}
chosenHeight *= parentScale;
chosenWidth *= parentScale;
chosenWidth += getPaddingLeft() + getPaddingRight();
chosenHeight += getPaddingBottom() + getPaddingTop();
//Log.d("CodeMap", "Measured to " + chosenWidth + "x" + chosenHeight);
setMeasuredDimension(chosenWidth, chosenHeight);
}
// @Override
// protected void onDraw(Canvas canvas) {
// float parentScale = getScaleFactor();
//
// canvas.scale(parentScale, parentScale);
// canvas.save(Canvas.MATRIX_SAVE_FLAG);
// super.dispatchDraw(canvas);
// canvas.restore();
// }
@Override
public ViewParent invalidateChildInParent(int [] location, Rect dirty) {
return super.invalidateChildInParent(location, dirty);
}
}
Java Source Code List com.hdweiss.codemap.data.CodeMapApp.java com.hdweiss.codemap.data.CscopeEntry.java com.hdweiss.codemap.data.CscopeWrapper.java com.hdweiss.codemap.data.Cscope.java com.hdweiss.codemap.data.ICodeMapItem.java com.hdweiss.codemap.data.JGitWrapper.java com.hdweiss.codemap.data.ProjectController.java com.hdweiss.codemap.data.Project.java com.hdweiss.codemap.data.SerializableItem.java com.hdweiss.codemap.data.SerializableLink.java com.hdweiss.codemap.util.AbsoluteLayout.java com.hdweiss.codemap.util.CodeMapCursorPoint.java com.hdweiss.codemap.util.CodeMapPoint.java com.hdweiss.codemap.util.FlowLayout.java com.hdweiss.codemap.util.ObjectSerializer.java com.hdweiss.codemap.util.SpanUtils.java com.hdweiss.codemap.util.SyntaxHighlighter.java com.hdweiss.codemap.util.Utils.java com.hdweiss.codemap.util.ZoomableAbsoluteLayout.java com.hdweiss.codemap.util.ZoomableLinearLayout.java com.hdweiss.codemap.view.CodeMapActivity.java com.hdweiss.codemap.view.CodeMapTabListener.java com.hdweiss.codemap.view.Preferences.java com.hdweiss.codemap.view.project.ProjectAdapter.java com.hdweiss.codemap.view.project.ProjectBrowser.java com.hdweiss.codemap.view.project.ProjectItemView.java com.hdweiss.codemap.view.project.ProjectWizard.java com.hdweiss.codemap.view.workspace.CollisionManager.java com.hdweiss.codemap.view.workspace.FindDeclarationTask.java com.hdweiss.codemap.view.workspace.WorkspaceController.java com.hdweiss.codemap.view.workspace.WorkspaceFragment.java com.hdweiss.codemap.view.workspace.WorkspaceStateLoader.java com.hdweiss.codemap.view.workspace.WorkspaceState.java com.hdweiss.codemap.view.workspace.WorkspaceViewListeners.java com.hdweiss.codemap.view.workspace.WorkspaceView.java com.hdweiss.codemap.view.workspace.browser.WorkspaceBrowserAdapter.java com.hdweiss.codemap.view.workspace.browser.WorkspaceBrowser.java com.hdweiss.codemap.view.workspace.fragments.CodeMapAnnotation.java com.hdweiss.codemap.view.workspace.fragments.CodeMapFunction.java com.hdweiss.codemap.view.workspace.fragments.CodeMapImage.java com.hdweiss.codemap.view.workspace.fragments.CodeMapItem.java com.hdweiss.codemap.view.workspace.fragments.CodeMapLink.java com.hdweiss.codemap.view.workspace.fragments.FunctionLinkSpan.java com.hdweiss.codemap.view.workspace.outline.CscopeEntryAdapter.java com.hdweiss.codemap.view.workspace.outline.OutlineAdapter.java com.hdweiss.codemap.view.workspace.outline.OutlineBrowser.java com.hdweiss.codemap.view.workspace.outline.OutlineItemComparator.java com.hdweiss.codemap.view.workspace.outline.OutlineItemView.java com.hdweiss.codemap.view.workspace.outline.OutlineItem.java