0

我正在开发一个应用程序,其中我有一个查看传呼机与两个片段。在第二个片段中,我想要显示从相机捕获的图像列表或从图库中选择一个一个。因此,在选择或捕捉每个图像后,图像列表会增加。Android水平图像列表,每个关闭按钮

我能够捕捉图像或从点击按钮,在片段二选择画廊。每次我这样做,我保存图像在内部存储和数组列表中的路径。

我在图像视图中显示了路径的数组列表中的所有图像,并且每个图像上的关闭按钮水平滚动。此外,关闭功能是在片段二,因为列表是在我必须删除路径的片段。

因此,为此,我使用了堆栈上最高的投票答案。链接是:

https://stackoverflow.com/questions/34674576/how-to-show-images-with-horizontal-scrolling-android 

现在需要的是:我需要在具有关闭按钮的图像底部显示的页面或项目指标网点,使用户可以知道哪个图像或页面,他是。

下面是我需要开发的图像。

enter image description here

如何做到这一点我不能够理解。请指导我。我在这方面投入了很多时间。

+0

您需要在这些捕获的图像上显示菜单更多图标,是吗? – Karthik

+0

预计Ui为? –

+0

检查此http://viewpagerindicator.com/ –

回答

0

我已经试过这样并实现了它。

这里是fragment class

public class DisplayImageFragment extends BaseFragment implements ViewPager.OnPageChangeListener { 

    private RadioGroup mIndicators; 
    private ViewPager mPager; 
    private List<Image> sliderItems; 
    private Bundle bundle; 

    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.display_image_fragment, container, false); 
     mIndicators = (RadioGroup) getView().findViewById(R.id.page_indicator); 
     mPager = (ViewPager) getView().findViewById(R.id.viewPager); 

     return view; 
    } 

    @Override 
    public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 

     mPager.setOnPageChangeListener(this); 

     this.bundle = getArguments(); 
     if (bundle != null) { 
      sliderItems = bundle.getParcelableArrayList(IMAGES_LIST); 
     } 
     setUpRadioIndicators(sliderItems); 

     // build pager adapter 
     ViewPagerAdapter adapter = (ViewPagerAdapter) mPager.getAdapter(); 

     if (adapter != null) { 
      adapter.notifyPagerAdapter(sliderItems); 
     } else { 
      adapter = new ViewPagerAdapter(getContext(), sliderItems); 
      mPager.setAdapter(adapter); 
     } 
    } 

    private void setUpRadioIndicators(List<Image> sliderItems) { 
     mIndicators.removeAllViews(); 

     for (int i = 0; i < sliderItems.size(); i++) { 
      mIndicators.addView(getIndicator(i)); 
     } 

     // default item 
     if (sliderItems.size() > 0) { 
      ((RadioButton) mIndicators.getChildAt(0)).setChecked(true); 
     } 
    } 

    private RadioButton getIndicator(int position) { 
     RadioButton radioButton = new RadioButton(getContext()); 
     radioButton.setButtonDrawable(null); 
     radioButton.setId(position); 

     int btnSize = (int) getResources().getDimension(R.dimen.radio_drawable_size); 
     RadioGroup.LayoutParams params = new RadioGroup.LayoutParams(btnSize, btnSize); 
     params.setMargins(5, 0, 5, 0); 
     radioButton.setLayoutParams(params); 

     radioButton.setBackgroundDrawable(getResources() 
       .getDrawable(R.drawable.slider_indicator_selector)); 

     return radioButton; 
    } 

    @Override 
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 
     ((RadioButton) mIndicators.getChildAt(position)).setChecked(true); 
    } 

    @Override 
    public void onPageSelected(int position) { 
    } 

    @Override 
    public void onPageScrollStateChanged(int state) { 
    }} 

这里是display_image_fragment.xml

<?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"> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewPager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <RadioGroup 
     android:id="@+id/page_indicator" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="10dp" 
     android:orientation="horizontal" /> 

    </RelativeLayout> 

这里是slider_indicator_selected.xml

<item android:drawable="@drawable/slider_indicator_selected" 
     android:state_pressed="true"/> 

    <item android:drawable="@drawable/slider_indicator_selected" 
     android:state_checked="true"/> 

    <item android:drawable="@drawable/slider_indicator_selected" 
     android:state_focused="true" /> 

    <item android:drawable="@drawable/slider_indicator_unselected" /> 

</selector> 
+0

我要求回收视图不是查看传呼机。 –

0

我已经实现演示,可以帮助您。 你可以通过下面的链接。 Demo