嘿,我在android中使用viewpager 2。我想给予圆角视图寻呼机2,但它不工作。有人能给我指路吗
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/galleryPager"
android:background="@drawable/round_drawable"
android:layout_width="match_parent"
android:layout_height="224dp"
android:layout_marginBottom="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
字符串
round_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="26dp" />
<solid android:color="@color/orange" />
</shape>
型
更新
我在我的viewpager适配器中使用了RecyclerView.Adapter,项目xml如下所示
viewpager_item_layout.xml用于reyclerview
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainContainer"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/rounded_corner">
<ImageView
android:id="@+id/mainImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:src="@drawable/gallery_placeholder"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
型
viewpager.xml是我的主要活动布局
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/galleryContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/galleryPager"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="224dp"
android:layout_marginBottom="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
型
现在看起来像这样。我在四面都做了标记,看起来好像有透明的东西。
的数据
注意事项:
我没有在viewpager中使用fragment,而是在viewpager.adapter中使用reyclerview adapter
3条答案
按热度按时间fhg3lkii1#
在viewpager中为你的元素使用圆形背景,而不是特殊的viewpager
例如,你有2个片段内的视图分页器和每个片段包含线性布局内,使用圆形背景的线性布局,如果你需要的例子告诉我:))
z9gpfhce2#
viewPager
页面片段将在ViewPager
的背景上绘制时模糊背景;如果你想强制你必须使用一个透明的背景上的根布局的设置android:background="@android:color/transparent"
ct3nt3jp3#
已解决。CardView可用于裁剪ViewPager或ViewPager2的角并创建圆角。
就像这样:
字符串
我只需要前两个康纳,所以我设置的卡比viewpager长一点。