Уменьшение размера ImageView программно (с помощью кода Java) - PullRequest
1 голос
/ 13 октября 2011

Как уменьшить размер изображения до 200х200?

Это мой фактический код:

 private ImageView splash;

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        FrameLayout fl = new FrameLayout(this.getApplicationContext());
        splash = new ImageView(getApplicationContext());
        splash.setImageResource(R.drawable.logo);
        fl.addView(splash);
        fl.setForegroundGravity(Gravity.CENTER);
        fl.setBackgroundColor(Color.BLACK);
        setContentView(fl);

Ответы [ 4 ]

7 голосов
/ 13 октября 2011

Просто попробуйте это:

  ImageView image=(ImageView)findViewById(R.id.Image1);
  Bitmap bm=BitmapFactory.decodeResource(getResources(), R.drawable.sc01);
  int width=200;
  int height=200;
  Bitmap resizedbitmap=Bitmap.createScaledBitmap(bm, width, height, true);

  image.setImageBitmap(resizedbitmap);
2 голосов
/ 13 октября 2011

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

splash.setLayoutParams(new FrameLayout.LayoutParams(200,200));
1 голос
/ 13 октября 2011

вы можете установить размер изображения вот так

imageview.setLayoutParams(new FrameLayout.LayoutParams(200,200));
imageview.setScaleType(ScaleType.FIT_XY);
imageview.setImageResource(R.drawable.logo);
1 голос
/ 13 октября 2011

Если вы имеете в виду 200 dip, должно работать следующее:

int dips = TypedValue.applyDimension(
    TypedValue.COMPLEX_UNIT_DIP, 
    200 , 
    context.getResources().getDisplayMetrics());

splash.setLayoutParams(new FrameLayout.LayoutParams(dips,dips));

, если вы хотите получить sp (масштабированные пиксели) вместо использования TypedValue.COMPLEX_UNIT_SP вместо COMPLEX_UNIT_DIP, и если вы хотите всего 200 простых пикселейиспользуйте вместо этого

splash.setLayoutParams(new FrameLayout.LayoutParams(200, 200));

.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...