2013-03-16 53 views
1

我有以下觀點: enter image description hereImageView的表示先前的圖像視圖的數據

在其中,如果我點擊任何的ImageButton顯示在全屏幕mode.For例如相應的圖像,如果我單擊黑,它顯示的圖像視圖,像:enter image description here

還我已經設置背景顏色全屏像這樣一些imagebuttons:如果我點擊粉紅拿給普通的粉色:

enter image description here

高達現在它的一切OK,如果我先點擊黑色按鈕,然後我點擊粉紅色,在黑色的圖像進行了與粉紅色背景的佈局,像這樣:

enter image description here

這是我的問題,我只想要粉紅色,而不是前景中的圖像;

這是我的XML文件:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:background="#657383" > 

<ImageView android:id="@+id/imv" 
     android:contentDescription="@string/app_name" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:visibility="gone" 
     /> 

<Button android:id="@+id/home" 
    android:contentDescription="@string/hello_world" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="20dp" 
    android:layout_marginTop="10dp" 
    android:text="@string/Back_Button" 
    android:textSize="25sp" 
    /> 


    <RelativeLayout android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 


    <ImageButton android:id="@+id/image1" 
     android:contentDescription="@string/hello_world" 
     android:layout_width="130dp" 
     android:layout_height="95dp" 
     android:background="#000000" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="10dp"/> 

    <ImageButton android:id="@+id/image2" 
     android:contentDescription="@string/hello_world" 
     android:layout_width="130dp" 
     android:layout_height="95dp" 
     android:layout_toRightOf="@+id/image1" 
     android:background="#ff0000" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="10dp"/> 

    <ImageButton android:id="@+id/image3" 
     android:contentDescription="@string/hello_world" 
     android:layout_width="130dp" 
     android:layout_height="95dp" 
     android:layout_below="@+id/image1" 
     android:background="#00ff00" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="10dp" 
     /> 

    <ImageButton android:id="@+id/image4" 
     android:contentDescription="@string/hello_world" 
     android:layout_width="130dp" 
     android:layout_height="95dp" 
     android:background="#0000ff" 
     android:layout_below="@+id/image2" 
     android:layout_toRightOf="@+id/image3" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="10dp" 
     /> 

    <ImageButton android:id="@+id/image5" 
     android:contentDescription="@string/hello_world" 
     android:layout_width="130dp" 
     android:layout_height="95dp" 
     android:background="#FFFF00" 
     android:layout_below="@+id/image3" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="10dp" 
     /> 

    <ImageButton android:id="@+id/image6" 
     android:contentDescription="@string/hello_world" 
     android:layout_width="130dp" 
     android:layout_height="95dp" 
     android:layout_below="@+id/image4" 
     android:layout_toRightOf="@+id/image5" 
     android:background="#FFA500" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="10dp"/> 

    <ImageButton android:id="@+id/image7" 
     android:contentDescription="@string/hello_world" 
     android:layout_width="130dp" 
     android:layout_height="95dp" 
     android:layout_below="@+id/image5" 
     android:background="#FFFFFF" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="10dp"/> 

    <ImageButton android:id="@+id/image8" 
     android:contentDescription="@string/hello_world" 
     android:layout_width="130dp" 
     android:layout_height="95dp" 
     android:layout_below="@+id/image6" 
     android:background="#F52887" 
     android:layout_toRightOf="@+id/image7" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="10dp"/> 



</RelativeLayout> 

我的.java的數據是:

 private OnClickListener myListener = new OnClickListener() { 

    @SuppressLint("NewApi") 
    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 


     try { 

      handler.postDelayed(new Runnable() { 

       @Override 
       public void run() { 
        // TODO Auto-generated method stub 
        iv.setVisibility(View.GONE); 
       } 
      }, 2500); 



      if (v.getId() == R.id.image1) { 
       iv.setBackground(null); 
       iv.setVisibility(View.VISIBLE); 
       iv.setImageResource(R.drawable.ic_launcher); 

      } else if(v.getId() == R.id.image2){ 
       iv.setBackground(null); 

       iv.setVisibility(View.VISIBLE); 
       iv.setImageResource(R.drawable.kids_paint_hands); 
      }else if(v.getId() == R.id.image3){ 

       iv.setBackground(null); 

       iv.setVisibility(View.VISIBLE); 
       iv.setImageResource(R.drawable.play_logo); 
      }else if(v.getId() == R.id.image4){ 

       iv.setBackground(null); 
       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundColor(Color.BLUE); 
      }else if(v.getId() == R.id.image5){ 

       iv.setBackground(null); 

       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundColor(Color.CYAN); 
      }else if(v.getId() == R.id.image6){ 

       iv.setBackground(null); 

       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundColor(Color.MAGENTA); 
      }else if(v.getId() == R.id.image7){ 

       iv.setBackground(null); 

       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundColor(Color.WHITE); 
      }else if(v.getId() == R.id.image8){ 

       iv.setBackground(null); 

       iv.setVisibility(View.VISIBLE); 
       iv.setBackgroundColor(Color.DKGRAY); 
       iv.clearFocus(); 
      } 






     } catch (Exception e) { 
      // TODO: handle exception 
      e.printStackTrace(); 
     } 

任何幫助或建議?背景變化

+0

發佈您的代碼,你可以設置圖像的可見性不見了 – Pragnani 2013-03-16 08:27:46

+0

請確認您是否切換全屏點擊按鈕,這樣我們就可以看到你的錯誤,並幫助你。 – Rekha 2013-03-16 08:29:56

+0

@Pragnani:剛剛更新了我的代碼與Java類 – sai 2013-03-16 08:30:13

回答

1

試試這個

首先

ImageResource is different from the background Resource. 

ImageResource is the foreground image, background resource is the background one. 

你需要做這樣的

image.setImageResource(android.R.color.transparent); 

顯示透明圖像,而不是原來的

+0

非常感謝!!! Pragnani – sai 2013-03-16 08:52:58

1

您的圖片顯示,因爲你沒有重置ImageResource屬性,當你改變背景顏色爲粉紅色或任何其他素色,因爲這與你以前的形象也出現做新的背景。

要解決這個問題,您可以顯示圖像作爲背景而不是使用ImageResource,或者您應該刪除之前設置的imageResource(例如:iv.setImageResource(任何透明框架))。

+0

雅,我明白了,但如何?選項iv.setImageResource()只接受,剩餘的全部不接受Imageview。 – sai 2013-03-16 08:43:27

+0

Thankyou Rekha,上面@Pragnani的方法奏效,你的也是一模一樣的...... – sai 2013-03-16 08:52:38

+0

@Rekha +10第一個答案.. – Pragnani 2013-03-16 08:58:32