2014-03-19 25 views
1

我已經完成了一個活動與一個圖像在全屏幕和下方的文字說明。我想要的是當我點擊圖像時製作無形的textview。我已經放了一個吐司,並有代碼,但不是看不見的。什麼可能是錯誤?感謝Android:onClick圖像使不可見文本視圖

public Object instantiateItem(ViewGroup view, int position) { 

     View imageLayout = inflater.inflate(R.layout.ampliar_imagen, view, false); 
     assert imageLayout != null; 

     imageView = (TouchImageView) imageLayout.findViewById(R.id.imagenFullScreen); 

     info = (TextView) imageLayout.findViewById(R.id.textoInfoImagen); 

        final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.cargandoFoto); 
     imageView.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       Toast.makeText(ImagePagerActivity.this, "CLICK", Toast.LENGTH_SHORT).show(); 
       info.setVisibility(View.GONE); 
      } 

     }); 

     imageLoader.displayImage(images[position], imageView, options, new SimpleImageLoadingListener() { 

      @Override 
      public void onLoadingStarted(String imageUri, View view) { 
       spinner.setVisibility(View.VISIBLE); 
      } 

      @Override 
      public void onLoadingFailed(String imageUri, View view, FailReason failReason) { 

       Toast.makeText(ImagePagerActivity.this, "Error al cargar la imagen", Toast.LENGTH_SHORT).show(); 

       spinner.setVisibility(View.GONE); 
      } 

      @Override 
      public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
       spinner.setVisibility(View.GONE); 
      } 
     }); 

     view.addView(imageLayout, 0); 
     return imageLayout; 
    } 

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/negro" > 

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <imagenes.TouchImageView 
     android:id="@+id/imagenFullScreen" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="center" 
     android:adjustViewBounds="true" /> 

    <ProgressBar 
     android:id="@+id/cargandoFoto" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:visibility="gone" /> 
</FrameLayout> 

<TextView 
    android:id="@+id/textoInfoImagen" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:background="@color/grisTransparente" 
    android:gravity="center_horizontal" 
    android:paddingBottom="3dp" 
    android:paddingTop="3dp" 
    android:text="AAAA" 
    android:textColor="@color/blanco" 
    android:textSize="13sp" /> 

</RelativeLayout> 
+0

發表您的XML代碼... – Namy

+0

確定。代碼編輯 – Charlie

+0

好友你hvnt在TextView中設置任何文本,所以你不能看到SetVisibility()函數的效果 –

回答

0

您可以定義O單擊事件的TextView這樣

imageView.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

TextView info = (TextView) imageLayout.findViewById(R.id.textoInfoImagen); 
info.setVisibility(View.GONE);//or you can invisible, 

} 

     }); 
+0

@ User3327667當您嘗試此操作時,請轉回 –

+0

非常感謝。我的問題解決了! – Charlie

+0

你的歡迎:) –

0

取而代之的是

info.setVisibility(View.GONE); 

使用本: -

info.setVisibility(View.INVISIBLE); 

設置可見在X您的TextView毫升: -

<TextView 
     android:id="@+id/textoInfoImagen" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:background="@color/grisTransparente" 
     android:gravity="center_horizontal" 
     android:paddingBottom="3dp" 
     android:paddingTop="3dp" 
     android:text="" 
     **android:visibility="visible"** 
     android:textColor="@color/blanco" 
     android:textSize="13sp" /> 
+0

這段代碼沒有解決我的問題 – Charlie

+0

看到我的更新回答 – Namy

+0

問題沒有解決。文字可見 – Charlie

0
在你的XML集

 android:visibility="true" 
     //in textview 

,並在您的活動,

   info.setVisibility(View.INVISIBLE); 
+0

問題沒有解決。文字可見 – Charlie

+0

set info.setalpha(0.0f); //用於隱藏 –

+0

而不是android:visibility =「true」 //在textview中 和您的活動中, info.setVisibility(View.INVISIBLE); –

1

我會建議你設置imageLayout爲ImageView的的標記和中的onClick圖像視圖從標籤佈局獲取您的textview,然後將其可見性設置爲不可見或不可見。嘗試這個。

imageView = (TouchImageView) imageLayout.findViewById(R.id.imagenFullScreen); 
info = (TextView) imageLayout.findViewById(R.id.textoInfoImagen); 
imageView.setTag(info); 
imageView.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

     TextView tv = (TextView)v.getTag(); 
     tv.setVisibility(View.GONE); 

    } 
+0

你可以把代碼建議嗎? – Charlie

0

set info.setalpha(0.0f);; // for invisible

set info.setalpha(1.0f); //可見

+0

謝謝,但它不運行 – Charlie

0
Toast.makeText(getBaseContext(), "CLICK", Toast.LENGTH_SHORT).show();