平板电脑的屏幕尺寸支持失败(计算)

时间:2014-04-04 10:26:06

标签: android android-layout

我有一张带有文字和4个四边形的桌子 较旧的屏幕截图:

table with text (2x size of the 4 quads

手机设计运行良好,但如果我尝试将其用于平板电脑,则会失败:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
width = size.x;
height = size.y;

int w=(int) ((width-(table.getPaddingLeft()+table.getPaddingRight())*2)/6);
//w->minimum widthsize of one quad view

我在平板电脑模式下使用225dip

进行静态列表视图菜单

我试图将+drawer之前的)/6);置于计算中并且出现同样的问题;
这个预先安排。:

int drawer=0;//for phones
Resources r = getResources();
float pixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 225, r.getDisplayMetrics());

if(drawerLayout==null) {
    drawer=pixels;
}

出了什么问题??

2 个答案:

答案 0 :(得分:0)

只需使用默认文本大小,让用户调整大小使用此代码: 首先将OnTouchListener实现到Activity并使用以下代码:

    public boolean onTouchEvent(View v, MotionEvent event) {
            if(null != scaleGestureDetector && v.getId() == R.id.TextView)
                scaleGestureDetector.onTouchEvent(event);
            return true;
        }

public class simpleOnScaleGestureListener extends
    SimpleOnScaleGestureListener {

        @Override
        public boolean onScale(ScaleGestureDetector detector) {
            float size = TextView.getTextSize();
            float factor = detector.getScaleFactor();
            float product = size*factor;
            TextView.setTextSize(TypedValue.COMPLEX_UNIT_PX, product);
            size = TextView.getTextSize();
            return true;
        }
    }

希望这能解决您的问题。

答案 1 :(得分:0)

我支架错误,所以抽屉必须加总,然后从宽度中取出

int w=(int) ((width-((table.getPaddingLeft()+table.getPaddingRight())*2+drawer))/6);