2013-08-27 3 views
0

Возможно ли установить разную высоту при создании растрового изображения на основе устройства. Я хочу сказать, что для телефонов я хочу установить разную высоту для растрового изображения & для планшетов, я хочу установить разную высоту. Прямо сейчас высота и ширина растрового изображения объявлены в файле dimen.xml & Я использую ту же самую высоту для всех устройств (телефон & таблеток).Как установить различную высоту в dpi на разные устройства

Но мое требование - установить разную высоту растрового изображения при отображении в планшетах. Так как это можно сделать.

код, используемый для создания растрового изображения

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

Вы можете прочитать размер экрана устройства программно и указать ширину и соответственно, при создании растрового изображения. –

+0

Есть ли способ создать файл dimen.xml для другого устройства, точно так же, как создание макета-нормальный, макет-большой, макет-xlarge. – Rahul

+0

Да, вы можете создавать папки с разными значениями, как с макетами. ценности-земля, ценности-нормальные, ... – Juangcg

ответ

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; 
     } 
Смежные вопросы