Установить ширину и высоту ImageView программно?

Как можно программно настроить ширину и высоту ImageView ?

Возможно, слишком поздно, но для других, у кого такая же проблема, установить высоту ImageView:

 image_view.getLayoutParams().height = 20; 

Надеюсь это поможет.

Важный. Если вы устанавливаете высоту после того, как макет уже «выложен», убедитесь, что вы также вызываете:

 image_view.requestLayout() 

Если ваше изображение является динамическим, ответ, содержащий getLayout, завершится ошибкой с исключением.

В этом случае правильный путь:

 LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100); iv.setLayoutParams(layoutParams); 

Этот простой способ выполнить свою задачу:

 setContentView(R.id.main); ImageView iv = (ImageView) findViewById(R.id.left); int width = 60; int height = 60; LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height); iv.setLayoutParams(parms); 

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

 setContentView(R.id.main); Display display = getWindowManager().getDefaultDisplay(); ImageView iv = (LinearLayout) findViewById(R.id.left); int width = display.getWidth(); // ((display.getWidth()*20)/100) int height = display.getHeight();// ((display.getHeight()*30)/100) LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height); iv.setLayoutParams(parms); 

надеюсь, что вы используете полностью.

Я сыграл этот с pixel и dp .

 private int dimensionInPixel = 200; 

Как установить по пикселю :

 view.getLayoutParams().height = dimensionInPixel; view.getLayoutParams().width = dimensionInPixel; view.requestLayout(); 

Как установить dp :

 int dimensionInDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dimensionInPixel, getResources().getDisplayMetrics()); view.getLayoutParams().height = dimensionInDp; view.getLayoutParams().width = dimensionInDp; view.requestLayout(); 

Надеюсь, это поможет вам.

Если вам нужно установить ширину или высоту в match_parent (размером с родительский) или wrap_content (достаточно большой, чтобы соответствовать собственному внутреннему контенту), то ViewGroup.LayoutParams имеет две константы:

 imageView.setLayoutParams( new ViewGroup.LayoutParams( // or ViewGroup.LayoutParams.WRAP_CONTENT ViewGroup.LayoutParams.MATCH_PARENT, // or ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT ) ); 

Или вы можете установить их, как в ответе Хаким Заид:

 imageView.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT; //... 

Самый простой и простой способ установки кнопки динамически:

  Button index=new Button(this); int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 45, getResources().getDisplayMetrics()); int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 42, getResources().getDisplayMetrics()); 

Вышеуказанная высота и ширина находятся в пикселях px . 45 – высота в dp, а 42 – ширина в dp .

  index.setLayoutParams(new .LayoutParams(width, height)); 

Так, например, если вы разместили свою кнопку в TableRow в TableLayout, вы должны иметь ее как TableRow.LayoutParams

  index.setLayoutParams(new TableRow.LayoutParams(width, height)); 

Вы можете установить значение для всего случая.

 demoImage.getLayoutParams().height = 150; demoImage.getLayoutParams().width = 150; demoImage.setScaleType(ImageView.ScaleType.FIT_XY); 

Просто создайте объект LayoutParams и назначьте его вашему изображению.

 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(150, 150); imageView.setLayoutParams(params); 
 image_view.getLayoutParams().height 

возвращает значение высоты в пикселях. Сначала необходимо получить размеры экрана, чтобы правильно установить значения.

  Display display = context.getWindowManager().getDefaultDisplay(); DisplayMetrics outMetrics = new DisplayMetrics(); display.getMetrics(outMetrics); int screen_height = outMetrics.heightPixels; int screen_width = outMetrics.widthPixels; 

После того, как вы получите размеры экрана, вы можете установить ширину и высоту изображения, используя соответствующие поля.

  view.getLayoutParams().height = screen_height - 140; view.getLayoutParams().width = screen_width - 130 ; 
  • Нет интернета на эмуляторе Android - почему и как исправить?
  • Каталог данных не имеет права на чтение и запись в Android
  • загрузить картинку в галерею эмулятора
  • Использование акселерометра, гироскопа и компаса для расчета движения устройства в 3D-мире
  • Как просматривать localhost на устройстве Android?
  • Как установить файл APK в эмуляторе Android?
  • настроить флажок
  • Проблема с эмулятором HelloAndroid
  • Скопировать базу данных из папки с данными в невращенное устройство
  • Как я могу переадресовать свой IP-адрес localhost на эмулятор Android?
  • Android-эмулятор - проблема с созданием учетных записей пользователей
  • Давайте будем гением компьютера.