如何使用可能的幻灯片列表视图设计android弹出窗口(How to design android pop

编程入门 行业动态 更新时间:2024-10-26 16:31:59
如何使用可能的幻灯片列表视图设计android弹出窗口(How to design android pop-up window with likely slide list view)

可能这个设计,

如果单击箭头按钮移动到下一个视图,则弹出窗口可能会显示幻灯片列表视图

请通过编码提出任何想法......

likely this design ,

pop-up window with likely slide list view if click arrow button move to next view

please give any ideas with coding...

最满意答案

使用此处的 View Pager指示器 并在它下面添加两个线性布局,并在coustom dailog和Done中使用它。

快乐的编码。

在此处输入图像描述

i created likely that.. coding & reference here

view pager reference

pop up window java code

public void popUpWindow() { final Dialog dialog = new Dialog(context); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.activity_main_investment_popup_pageadapter); dotsLayout = (LinearLayout) dialog.findViewById(R.id.layoutDots1); btnPrevious = (ImageButton) dialog.findViewById(R.id.btnPrevious); btnNext = (ImageButton) dialog.findViewById(R.id.btnNext); popUpClose = (ImageButton) dialog.findViewById(R.id.popUpClose); // adding bottom dots addBottomDots(0); viewPager = (ViewPager) dialog.findViewById(R.id.pager_popUP); // Pass results to ViewPagerAdapter Class adapter = new ViewPagerAdapter(context, list, ListTotalReturnPrice, population); // Binds the Adapter to the ViewPager viewPager.setAdapter(adapter); viewPager.addOnPageChangeListener(viewPagerPageChangeListener); dialog.show(); btnNext.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int current = getSlideItem(+1); viewPager.setCurrentItem(current); } }); btnPrevious.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // checking for last page // if last page home screen will be launched int current = getSlideItem(-1); viewPager.setCurrentItem(current); } }); popUpClose.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.cancel(); } }); } private int getSlideItem(int i) { return viewPager.getCurrentItem() + i; } private void addBottomDots(int currentPage) { dots = new TextView[list.size()]; int colorsActive = Color.rgb(65, 87, 147); int colorsInactive = Color.rgb(217, 217, 217); dotsLayout.removeAllViews(); for (int i = 0; i < dots.length; i++) { dots[i] = new TextView(context); dots[i].setText(Html.fromHtml("&#8226;")); dots[i].setTextSize(35); dots[i].setTextColor(colorsInactive); dotsLayout.addView(dots[i]); } if (dots.length > 0) dots[currentPage].setTextColor(colorsActive); }

2.viewpager change listener

ViewPager.OnPageChangeListener viewPagerPageChangeListener = new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { addBottomDots(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } };

ViewPagerAdapter class

class ViewPagerAdapter extends PagerAdapter { // Declare Variables Context context; String[] rank; String[] country; String[] population; LayoutInflater inflater; public ViewPagerAdapter(Context context, ArrayList<String> list, ArrayList<String> ListTotalReturnPrice, String[] population) { this.context = context; list = list; this.country = country; this.population = population; this.flag = flag; } @Override public int getCount() { return list.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == ((LinearLayout) object); } @Override public Object instantiateItem(ViewGroup container, int position) { // Declare Variables TextView txtrank; TextView txtcountry; TextView txtpopulation; inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View itemView = inflater.inflate(R.layout.activity_main_investment_popup, container, false); // Locate the TextViews in viewpager_item.xml txtrank = (TextView) itemView.findViewById(R.id.popUpMenuTitle2); txtcountry = (TextView) itemView.findViewById(R.id.textView21); txtpopulation = (TextView) itemView.findViewById(R.id.textView25); // Capture position and set to the TextViews txtrank.setText(list.get(position)); txtcountry.setText(ListTotalReturnPrice.get(position)); // Add viewpager_item.xml to ViewPager ((ViewPager) container).addView(itemView); return itemView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { // Remove viewpager_item.xml from ViewPager ((ViewPager) container).removeView((LinearLayout) object); } }

pop up xml

enter image description here

view pager xml enter image description here

更多推荐

本文发布于:2023-08-07 23:46:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1466386.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:幻灯片   视图   如何使用   弹出窗口   列表

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!