我需要制作一个带有一些图像的应用程序,而一个位于中心的应用程序需要根据屏幕的大小来改变其大小。这是代码,我需要更改它的图像是image4:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:gravity="center_horizontal"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/negro"
android:paddingBottom="20dp"
android:paddingTop="20dp"
android:src="@drawable/image1" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/azul"
android:src="@drawable/lineaceleste" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/negro"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:src="@drawable/img3" />
<ImageView
android:id="@+id/imageView8"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/azul"
android:src="@drawable/img8" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blanco"
android:entries="@array/listaRadios"
android:prompt="@string/radioPrompt"
android:scaleType="fitStart" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@color/blk" >
<ImageView
android:id="@+id/imageView4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/celeste"
android:paddingBottom="50dp"
android:paddingTop="50dp"
android:src="@drawable/image4" />
</RelativeLayout>
<ImageView
android:id="@+id/imageView5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/blanco"
android:src="@drawable/lineablanca" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cel"
android:paddingBottom="5dp"
android:paddingTop="5dp" >
<ImageButton
android:id="@+id/btnPlay"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@null"
android:src="@drawable/play" />
<ImageButton
android:id="@+id/btnPause"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@null"
android:src="@drawable/pause" />
</LinearLayout>
<ImageView
android:id="@+id/imageView6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/blanco"
android:src="@drawable/img6" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cel"
android:paddingBottom="10dp"
android:paddingTop="10dp" >
<ImageView
android:id="@+id/imageView7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:src="@drawable/img7" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@null"
android:src="@drawable/btn3" />
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@null"
android:src="@drawable/btn4" />
</LinearLayout>
<ImageView
android:id="@+id/imageView9"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/azul"
android:src="@drawable/img9" />
<ImageView
android:id="@+id/imageView10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blk"
android:src="@drawable/img10" />
</LinearLayout>
日Thnx
答案 0 :(得分:3)
您应该以编程方式执行此操作,而不是在xml中添加ImageView。在xml中,您只需要RelativeLayout,它将用作图像持有者。所以你需要做的是:
`
<RelativeLayout
android:id="@+id/image_view_holder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@color/blk" >`
`
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;
int height = metrics.heightPixels;
RelativeLayout imgHolder = (RelativeLayout) findViewById(R.id.image_view_holder);
ImageView img = new ImageView(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, height/2);
img.setLayoutParams(params);
imgHolder.addView(img);`
现在,当您知道屏幕尺寸时,您可以根据屏幕尺寸设置图像尺寸。
答案 1 :(得分:1)
尝试以下代码: - &GT;首先给你的布局一个id。
<RelativeLayout
android:id="@+id/relative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@color/blk" >
<ImageView
android:id="@+id/imageView4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/celeste"
android:paddingBottom="50dp"
android:paddingTop="50dp"
android:src="@drawable/image4" />
</RelativeLayout>
现在,在您的代码中,按以下方式进行更改。
ImageView imageView4;
RelativeLayout relative;
imageView4=(ImageView)findViewById(R.id.imageView4);
relative=(RelativeLayout)findViewById(R.id.relative);
LayoutParams params=new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
imageView4.setLayoutParams(params);
relative.addView(imageView4, params);