I have a custom ViewGroup. The idea is to be able to place controls at absolute positions and then have the ViewGroup scale those controls based on the difference in the screen dimensions with respect to the original design dimensions. I am using the code below. In response to the 'onMeasure' message, I am storing the width and height of the view. Then on the 'onLayout' message I am computing new dimensions for the child controls and adjusting their sizes proportionally. This all works to some degree. However for certain controls (e.g. button controls), the control resizes, but the text inside does not remain centered within the control. I am thinking that there is some other call I need to make to update the child controls after I change their size.
Any suggestions? Thanks @Override protected void onMeasure(int wid, int hgt) { super.onMeasure(wid, hgt); m_viewWidth = getMeasuredWidth(); m_viewHeight = getMeasuredHeight(); measureChildren(wid, hgt); } @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { int count = getChildCount(); for (int i = 0; i < count; i++) { View child = getChildAt(i); if (child.getVisibility() != GONE) { GViewGroup.LayoutParams lp = (GViewGroup.LayoutParams) child.getLayoutParams(); int wid = child.getMeasuredWidth(); int hgt = child.getMeasuredHeight(); int lx = lp.x; int ly = lp.y; int ux = lp.x + wid; int uy = lp.y + hgt; if ((m_designWidth != 0) && (m_designHeight != 0) && (m_viewWidth != 0) && (m_viewHeight != 0)) { lx = (lx * m_viewWidth) / m_designWidth; ux = (ux * m_viewWidth) / m_designWidth; ly = (ly * m_viewHeight) / m_designHeight; uy = (uy * m_viewHeight) / m_designHeight; } child.layout(lx, ly, ux, uy); } } } -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en