Como posso definir ImageView
a largura e a altura de uma programação?
java
android
android-emulator
android-widget
praveenb
fonte
fonte
Respostas:
Pode ser tarde demais, mas para o bem de outras pessoas com o mesmo problema, defina a altura do ImageView:
Espero que isto ajude.
Importante. Se você estiver definindo a altura após o layout já ter sido 'disposto', lembre-se de ligar para:
fonte
image_view.getLayoutParams().height = RelativeLayout.LayoutParams.WRAP_CONTENT
.. Se o pai vista éLinearLayout
substituir aRelativeLayout
com eleSe a visualização da imagem for dinâmica, a resposta que contém getLayout falhará com exceção nula.
Nesse caso, a maneira correta é:
fonte
ImageView
desaparece. O truque é fazer com que a parte do layout (ou seja<this_part_here>.LayoutParams
) seja a mesma que o pai da pessoaImageView
. Então, por exemplo, se você colocou seuImageView
dentro de umTableRow
dentro de aTableLayout
, deve tê-lo comoTableRow.LayoutParams
.Esta maneira simples de executar sua tarefa:
e de outra maneira, se você quiser especificar o tamanho da tela em altura e largura, use o código abaixo:
Espero que use completo para você.
fonte
int
variáveis se não serão reutilizadas em outro lugar? Parece desnecessário, mas eu não sei muito sobre isso tbh.Eu joguei este com
pixel
edp
.Como definir por pixel :
Como definir por dp :
Espero que isto te possa ajudar.
fonte
Se você precisar definir sua largura ou altura para
match_parent
(tão grande quanto seu pai) ouwrap_content
(grande o suficiente para caber em seu próprio conteúdo interno), então existemViewGroup.LayoutParams
duas constantes:Ou você pode configurá-los como na resposta de Hakem Zaied :
fonte
Você pode definir o valor para todos os casos.
fonte
A melhor e mais fácil maneira de definir um botão dinamicamente é
A altura e largura acima estão em pixels px . 45 sendo a altura em dp e 42 sendo a largura em dp .
Portanto, por exemplo, se você colocou seu botão em um TableRow em um TableLayout, deve tê-lo como TableRow.LayoutParams
fonte
Basta criar um objeto LayoutParams e atribuí-lo ao seu imageView
fonte
retorna o valor da altura em pixels. Você precisa obter as dimensões da tela primeiro para definir os valores corretamente.
Depois de obter as dimensões da tela, você pode definir a largura e a altura da visualização de imagem usando as margens adequadas.
fonte
Para definir o ImageView e Height programaticamente, você pode fazer
fonte
kotlin
fonte
No cenário em que o tamanho do widget precisa ser definido programaticamente, verifique as regras abaixo.
LayoutParam
para o Layout no qual você está adicionando essa exibição . No meu caso, eu estou adicionando,TableRow
então eu tive que fazerTableRow.LayoutParams
final float scale = getResources().getDisplayMetrics().density; int dpWidthInPx = (int) (17 * scale); int dpHeightInPx = (int) (17 * scale);
TableRow.LayoutParams deletelayoutParams = new TableRow.LayoutParams(dpWidthInPx, dpHeightInPx); button.setLayoutParams(deletelayoutParams); tableRow.addView(button, 1);
fonte
Se você quiser apenas ajustar a imagem no modo de exibição de imagem, poderá usar o "quebra de conteúdo" na propriedade height e width com o tipo de escala, mas se desejar definir manualmente, precisará usar LayoutParams.
Os parâmetros de layout são eficientes para definir a altura e largura do layout programaticamente.
fonte
fonte