/ / Modifica l'altezza e la larghezza della vista immagine a livello di codice sulla base di immagini disegnabili - android, image, android-imageview

Modifica l'altezza e la larghezza della vista dell'immagine a livello di codice in base alle immagini disegnabili: Android, immagine, Android-imageview

Voglio cambiare l'altezza e la larghezza di Imageviewin base alla dimensione dell'immagine disegnabile di programmazione? ho due tipi di immagini, una orizzontale e un'altra verticale. Per impostazione predefinita, ho scritto il mio codice XML per le immagini verticali, ma voglio cambiare l'altezza e la larghezza della vista Immagine per le immagini orizzontali con il codice Java. come fare questo ?

il mio codice xml è

<RelativeLayout
android:paddingTop="47dp"
android:paddingBottom="48dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:id="@+id/flipcardWrapper">

<ImageView
android:orientation="horizontal"
android:layout_width="365dp"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:id="@+id/imgtrans"
android:background="@android:color/transparent" />

e il mio codice java per modificare l'altezza e la larghezza della vista dell'immagine è

imgview = (ImageView) findViewById(R.id.imgtrans);
Drawable d = getResources().getDrawable(R.drawable.image1);
int h = d.getIntrinsicHeight();
int w = d.getIntrinsicWidth();



if(d.getIntrinsicHeight()==797 && d.getIntrinsicWidth()==1218)
{
imgtrans.getLayoutParams().width=300;
imgtrans.requestLayout();

}

risposte:

0 per risposta № 1

Impostare due immagini per orizzontale e un'altra è verticale in un disegno. Quindi trovare l'orientamento dello schermo in base all'impostazione dell'immagine

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
Drawable d = getResources().getDrawable(R.drawable.imagehorizontal);
//set your other properties
}

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
Drawable d = getResources().getDrawable(R.drawable.imagevertical);
//set your other properties
}

0 per risposta № 2

Utilizzare ViewGroup.LayoutParams.MATCH_PARENT nel codice java.

imgview = (ImageView) findViewById(R.id.imgtrans);
Drawable d = getResources().getDrawable(R.drawable.image1);
int h = d.getIntrinsicHeight();
int w = d.getIntrinsicWidth();



if(d.getIntrinsicHeight()==797 && d.getIntrinsicWidth()==1218)
{
imgtrans.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
imgtrans.getLayoutParams().height = someValue;
imgtrans.requestLayout();
}