2013-09-25 57 views
0

我需要製作一些圖片的應用程序,並且它位於中心的應用程序需要根據屏幕大小更改其大小。下面是代碼,我需要改變它的圖像4圖像:如何製作動態ImageView?

<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

+1

您可以在繪製圖像之前獲取屏幕大小。然後重新調整圖像並最終繪製它。 – bofredo

+0

[如何動態更改ImageView高度]的可能重複(http://stackoverflow.com/questions/16397753/how-to-dynamically-change-imageview-height) –

回答

3

代替在XML中添加ImageView,您應該以編程方式執行此操作。在xml中,您只需要使用RelativeLayout作爲圖像保持器。所以,你需要做的是:

  1. 創建圖像保持

`

<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" >` 
  1. 創建和圖像保持增加的ImageView

`

  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

試試下面的代碼: - >首先給你佈局的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);