如何设计像图像中描述的那样的滑块视图并传递来自 URL 的图像
How to design a slider view like the one as described in image and pass image from URL
我正在设计一个用户界面或者说一个视图。
What approach should I use to design a sliding user interface the one
as shown in the image?
编辑:2017 年 8 月 25 日
我不知道可用于创建如图所示的 UI 的不同视图。因此,如果有人告诉我应该使用哪个视图或视图组来获得相同的结果,以及如何从 URL
渲染图像,这将很有帮助
我做了类似的事情:
<HorizontalScrollView
android:id="@+id/about_images_container_scroll"
android:layout_width="match_parent"
android:scrollbars="none"
android:layout_height="115dp">
<LinearLayout
android:id="@+id/about_images_container"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
</LinearLayout>
</HorizontalScrollView>
每个项目的java。
private void addImages()
{
imagesScroll = (LinearLayout) findViewById(R.id.about_images_container);
imagesScroll.removeAllViews();
LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(
CONSTANT_WIDTH,
ViewGroup.LayoutParams.MATCH_PARENT);
View aSep = new View(getBaseContext());
aSep.setLayoutParams(layoutParams1);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
width,
ViewGroup.LayoutParams.MATCH_PARENT);
for (int i = imageList.size()-1 ; i >= 0 ; i--)
{
ImageView firstImage = new ImageView(this);
firstImage.setLayoutParams(layoutParams);
int imageResource = getResources().getIdentifier("drawable"+"/"+imageList.get(i),null,getPackageName());
firstImage.setImageResource(imageResource);
imagesScroll.addView(firstImage);
}
}
通过使用 viewpager 我已经做到了。效果不错。
这里有一些代码片段
Initialization
LayoutInflater flater = (LayoutInflater) LayoutInflater.from(this);
view1 = flater.inflate(R.layout.view_1, null);
view2 = flater.inflate(R.layout.view_2, null);
view3 = flater.inflate(R.layout.view_3, null);
viewList = new ArrayList<View>();
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
pagerAdapter = new MyViewPagerAdapter(viewList);
viewPager = (ViewPager) findViewById(R.id.search_viewpager);
viewPager.setAdapter(pagerAdapter);
viewPager.setCurrentItem(0);
viewPager.setOnPageChangeListener(new MyOnPageChangeListener());
INSIDE XML
<android.support.v4.view.ViewPager
android:id="@+id/search_viewpager"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:layout_gravity="center"
android:layout_weight="1.0"
android:background="#000000"
android:flipInterval="30"
android:persistentDrawingCache="animation" >
我正在设计一个用户界面或者说一个视图。
What approach should I use to design a sliding user interface the one as shown in the image?
编辑:2017 年 8 月 25 日
我不知道可用于创建如图所示的 UI 的不同视图。因此,如果有人告诉我应该使用哪个视图或视图组来获得相同的结果,以及如何从 URL
渲染图像,这将很有帮助我做了类似的事情:
<HorizontalScrollView
android:id="@+id/about_images_container_scroll"
android:layout_width="match_parent"
android:scrollbars="none"
android:layout_height="115dp">
<LinearLayout
android:id="@+id/about_images_container"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
</LinearLayout>
</HorizontalScrollView>
每个项目的java。
private void addImages()
{
imagesScroll = (LinearLayout) findViewById(R.id.about_images_container);
imagesScroll.removeAllViews();
LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(
CONSTANT_WIDTH,
ViewGroup.LayoutParams.MATCH_PARENT);
View aSep = new View(getBaseContext());
aSep.setLayoutParams(layoutParams1);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
width,
ViewGroup.LayoutParams.MATCH_PARENT);
for (int i = imageList.size()-1 ; i >= 0 ; i--)
{
ImageView firstImage = new ImageView(this);
firstImage.setLayoutParams(layoutParams);
int imageResource = getResources().getIdentifier("drawable"+"/"+imageList.get(i),null,getPackageName());
firstImage.setImageResource(imageResource);
imagesScroll.addView(firstImage);
}
}
通过使用 viewpager 我已经做到了。效果不错。
这里有一些代码片段
Initialization
LayoutInflater flater = (LayoutInflater) LayoutInflater.from(this);
view1 = flater.inflate(R.layout.view_1, null);
view2 = flater.inflate(R.layout.view_2, null);
view3 = flater.inflate(R.layout.view_3, null);
viewList = new ArrayList<View>();
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
pagerAdapter = new MyViewPagerAdapter(viewList);
viewPager = (ViewPager) findViewById(R.id.search_viewpager);
viewPager.setAdapter(pagerAdapter);
viewPager.setCurrentItem(0);
viewPager.setOnPageChangeListener(new MyOnPageChangeListener());
INSIDE XML
<android.support.v4.view.ViewPager
android:id="@+id/search_viewpager"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:layout_gravity="center"
android:layout_weight="1.0"
android:background="#000000"
android:flipInterval="30"
android:persistentDrawingCache="animation" >