Ich habe eine Schaltfläche, die ich bei jedem Klick auf eine Bildansicht sichtbar und unsichtbar machen möchte. Ich habe versucht, unsichtbar/sichtbar, aber es wird nicht funktionieren.Schaltfläche wird nicht sichtbar, wenn Sie auf
dies ist mein Code:
public class FullScreenImageAdapter extends PagerAdapter {
Button btnClose;
private Activity _activity;
private ArrayList<String> _imagePaths;
private LayoutInflater inflater;
// constructor
public FullScreenImageAdapter(Activity activity,
ArrayList<String> imagePaths) {
this._activity = activity;
this._imagePaths = imagePaths;
}
@Override
public int getCount() {
return this._imagePaths.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((RelativeLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
TouchImageView imgDisplay;
inflater = (LayoutInflater) _activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View viewLayout = inflater.inflate(R.layout.layout_fullscreen_image, container,
false);
hideBar();
imgDisplay = (TouchImageView) viewLayout.findViewById(R.id.imgDisplay);
btnClose = (Button) viewLayout.findViewById(R.id.btnClose);
Picasso.with(_activity)
.load(_imagePaths.get(position))
.placeholder(R.drawable.loader)
.fit()
.centerCrop().into(imgDisplay);
// close button click event
btnClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
_activity.finish();
}
});
imgDisplay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hideBar();
hideButton();
}
});
((ViewPager) container).addView(viewLayout);
return viewLayout;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((RelativeLayout) object);
}
public void hideBar() {
View decorView = _activity.getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
public void hideButton() {
if (btnClose.isShown()){
btnClose.setVisibility(View.INVISIBLE);
}else{
btnClose.setVisibility(View.VISIBLE);
}
}
}
dies mein xml ist:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.example.shaka.we.ImageHelper.helper.TouchImageView
android:id="@+id/imgDisplay"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:scaleType="fitCenter" />
<Button
android:id="@+id/btnClose"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="15dp"
android:layout_marginTop="15dp"
android:background="@drawable/redx"
android:paddingBottom="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="2dp"
android:visibility="invisible"/>
</RelativeLayout>
kann mir jemand helfen?
Welcher Teil des Codes ist für die Sichtbarkeit verantwortlich? – Olayinka
haben Sie versucht, Logins oder Breakpoints zu setzen, um zu sehen, ob Sie zu dem Block Code gelangen, den Sie erwarten? – dungtatas
können Sie diese Frage für Hilfe überprüfen: http://stackoverflow.com/questions/6796299/view-getvisibility-isshown-return-incorrect-visibility – DysaniazzZ