Android 在PagerAdapter类上实现浮动按钮
在这段代码中,我想在每次视图更改时使“Close”(关闭)按钮静止(浮动),如本例所示:Android 在PagerAdapter类上实现浮动按钮,android,button,floating,android-pageradapter,Android,Button,Floating,Android Pageradapter,在这段代码中,我想在每次视图更改时使“Close”(关闭)按钮静止(浮动),如本例所示: **XML** 还有我的页面碎片: import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.support.v4.view.PagerAdapter; import a
**XML**
还有我的页面碎片:
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
import java.util.ArrayList;
import com.myapplication.R;
import com.myapplication.helper.TouchImageView;
public class FullScreenImageAdapter extends PagerAdapter {
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 == ((FrameLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
TouchImageView imgDisplay;
Button btnClose;
inflater = (LayoutInflater) _activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View viewLayout = inflater.inflate(R.layout.layout_fullscreen_image, container,
false);
imgDisplay = (TouchImageView) viewLayout.findViewById(R.id.imgDisplay);
btnClose = (Button) viewLayout.findViewById(R.id.btnClose);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(_imagePaths.get(position), options);
imgDisplay.setImageBitmap(bitmap);
// close button click event
btnClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
_activity.finish();
}
});
((ViewPager) container).addView(viewLayout);
return viewLayout;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((FrameLayout) object);
}
}
导入android.app.Activity;
导入android.content.Context;
导入android.graphics.Bitmap;
导入android.graphics.BitmapFactory;
导入android.support.v4.view.PagerAdapter;
导入android.support.v4.view.ViewPager;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.Button;
导入android.widget.FrameLayout;
导入java.util.ArrayList;
导入com.myapplication.R;
导入com.myapplication.helper.TouchImageView;
公共类FullScreenImageAdapter扩展了PagerAdapter{
私人活动;
私有ArrayList_ImagePath;
私人充气机;
//建造师
公共FullScreenImageAdapter(活动,
ArrayList图像路径){
这个。_活动=活动;
这是。_imagepath=imagepath;
}
@凌驾
public int getCount(){
返回此项。_imagepath.size();
}
@凌驾
公共布尔值isViewFromObject(视图,对象){
返回视图==((框架布局)对象);
}
@凌驾
公共对象实例化项(视图组容器,int位置){
TouchImageView imgDisplay;
按钮关闭;
充气器=(充气器)\u活动
.getSystemService(上下文布局\充气机\服务);
查看视图布局=充气机。充气(R.layout.layout\u全屏图像,容器,
假);
imgDisplay=(TouchImageView)viewLayout.findViewById(R.id.imgDisplay);
btnClose=(按钮)viewLayout.findViewById(R.id.btnClose);
BitmapFactory.Options=new-BitmapFactory.Options();
options.inPreferredConfig=Bitmap.Config.ARGB_8888;
位图位图=位图工厂.decodeFile(_imagepath.get(位置),选项);
设置图像位图(位图);
//关闭按钮单击事件
btnClose.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
_activity.finish();
}
});
((ViewPager)容器)。添加视图(viewLayout);
返回视图布局;
}
@凌驾
公共项(视图组容器、int位置、对象){
((ViewPager)容器)。移除视图((FrameLayout)对象);
}
}
谢谢
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
import java.util.ArrayList;
import com.myapplication.R;
import com.myapplication.helper.TouchImageView;
public class FullScreenImageAdapter extends PagerAdapter {
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 == ((FrameLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
TouchImageView imgDisplay;
Button btnClose;
inflater = (LayoutInflater) _activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View viewLayout = inflater.inflate(R.layout.layout_fullscreen_image, container,
false);
imgDisplay = (TouchImageView) viewLayout.findViewById(R.id.imgDisplay);
btnClose = (Button) viewLayout.findViewById(R.id.btnClose);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(_imagePaths.get(position), options);
imgDisplay.setImageBitmap(bitmap);
// close button click event
btnClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
_activity.finish();
}
});
((ViewPager) container).addView(viewLayout);
return viewLayout;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((FrameLayout) object);
}
}