gpt4 book ai didi

android: ViewPager Indicator like Tinder 图片

转载 作者:行者123 更新时间:2023-11-29 14:26:00 24 4
gpt4 key购买 nike

所以,我有一个 ViewPager,我想实现一个简单的 Page-Indicator,就像 Tinder 处理它的图片一样:

enter image description here

enter image description here

我以为找到图书馆很容易,但我这辈子都找不到。

我不在乎条形是通过操纵点的宽度还是使用可绘制对象实现的,库唯一应该做的就是拉伸(stretch)条形,这样它们总是占用 100 ViewPager 的宽度百分比。

有谁知道这样的图书馆,或者没有图书馆的帮助很容易实现这一点?

最佳答案

让我们逐步解决这个问题。

首先,在您的项目中添加 Jake Wharton 的 ViewPager 库。转到您的 build.gradle (Module:app) 并添加此行并同步您的项目。

implementation 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'

其次,在您的 viewPager 所在的 xml 文件中添加 LinePageIndicator。

<com.viewpagerindicator.LinePageIndicator
android:id="@+id/indicator"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:strokeWidth="4dp"
app:unselectedColor="#FF888888"
app:selectedColor="#FF880000"/>

第三步也是最后一步,在将适配器附加到您的 viewpager 之后,添加此代码以获得所需的输出。

LinePageIndicator linePageIndicator = view.findViewById(R.id.indicator);
linePageIndicator.setViewPager(viewPager);

//As we are measuring screen width, you should put the calculation inside onGlobalLayoutListener to get the correct screen width
linePageIndicator.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int numberOfItems = viewPager.getChildCount();
DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
float widthPixel = displayMetrics.widthPixels;

float itemWidth = widthPixel/numberOfItems;
linePageIndicator.setLineWidth(itemWidth);
}
});

就是这样,你有一个全屏宽线指示器。

关于android: ViewPager Indicator like Tinder 图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57733937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com