如何在dpi中为不同的设备设置不同的高度

时间:2013-08-27 07:17:13

标签: android bitmap dpi

在基于设备创建位图时是否可以设置不同的高度。我的意思是说,对于手机我想为位图设置不同的高度&对于平板电脑,我想设置不同的高度。现在,位图的高度和宽度在dimen.xml文件中声明。我对所有设备使用相同的高度(手机和平板电脑)。

但我的要求是在平板电脑中显示时设置不同的位图高度。那怎么可以做到。

用于创建位图的代码

Bitmap canvasBitmap = Bitmap.createBitmap(getResources().getDimension(R.dimen.width), getResources().getDimension(R.dimen.height), Bitmap.Config.ARGB_8888);

1 个答案:

答案 0 :(得分:0)

我在片段中使用的一些例子可以给你一些想法:

getActivity().getWindowManager().getDefaultDisplay().getMetrics(this._metrics);

        final int _lowDensityWidth = 55;
        final int _lowDensityHeight = 55;
        final int _medDensityWidth = 85;
        final int _medDensityHeight = 85;
        final int _higDensityWidth = 155;
        final int _higDensityHeight = 155;
        switch (_metrics.densityDpi) {
            case DisplayMetrics.DENSITY_LOW:
                imageView.setLayoutParams(new GridView.LayoutParams(_lowDensityWidth, _lowDensityHeight));
                break;
            case DisplayMetrics.DENSITY_MEDIUM:
                imageView.setLayoutParams(new GridView.LayoutParams(_medDensityWidth, _medDensityHeight));
                break;
            case DisplayMetrics.DENSITY_HIGH:
                imageView.setLayoutParams(new GridView.LayoutParams(_higDensityWidth, _higDensityHeight));
                break;
        }