短视频程序源码,PageSlider实现滑动页面

短视频程序源码,PageSlider实现滑动页面的相关代码

TestPagerProvider.java

 

 

1
package com.testruiwang.myapplication3.slice;<br>import ohos.agp.colors.RgbColor;<br>import ohos.agp.components.*;<br>import ohos.agp.components.element.ShapeElement;<br>import ohos.agp.utils.Color;<br>import ohos.agp.utils.TextAlignment;<br>import java.util.List;<br>public class TestPagerProvider extends PageSliderProvider {<br>    // 数据源,每个页面对应list中的一项<br>    private List<DataItem> list;<br>    public TestPagerProvider(List<DataItem> list) {<br>        this.list = list;<br>    }<br>    @Override<br>    public int getCount() {<br>        return list.size();<br>    }<br>    @Override<br>    public Object createPageInContainer(ComponentContainer componentContainer, int i) {<br>        final DataItem data = list.get(i);<br>        Text label = new Text(null);<br>        label.setTextAlignment(TextAlignment.CENTER);<br>        label.setLayoutConfig(<br>                new StackLayout.LayoutConfig(<br>                        ComponentContainer.LayoutConfig.MATCH_PARENT,<br>                        ComponentContainer.LayoutConfig.MATCH_PARENT<br>                ));<br>        label.setText(data.mText);<br>        label.setTextColor(Color.BLACK);<br>        label.setTextSize(50);<br>        ShapeElement element = new ShapeElement();<br>        element.setRgbColor(RgbColor.fromArgbInt(Color.getIntColor("#AFEEEE")));<br>        label.setBackground(element);<br>        componentContainer.addComponent(label);<br>        return label;<br>    }<br>    @Override<br>    public void destroyPageFromContainer(ComponentContainer componentContainer, int i, Object o) {<br>        componentContainer.removeComponent((Component) o);<br>    }<br>    @Override<br>    public boolean isPageMatchToObject(Component component, Object o) {<br>        return true;<br>    }<br>    //数据实体类<br>    public static class DataItem{<br>        String mText;<br>        public DataItem(String txt) {<br>            mText = txt;<br>        }<br>    }<br>}

 

MainAbilitySlice.java

1
 @Override<br>    public void onStart(Intent intent) {<br>        super.onStart(intent);<br>        super.setUIContent(ResourceTable.Layout_ability_main);<br>        initPageSlider();<br>    }<br>    private void initPageSlider() {<br>        PageSlider pageSlider = (PageSlider) findComponentById(ResourceTable.Id_page_slider);<br>        pageSlider.setProvider(new TestPagerProvider(getData()));<br>    }<br>    private ArrayList<TestPagerProvider.DataItem> getData() {<br>        ArrayList<TestPagerProvider.DataItem> dataItems = new ArrayList<>();<br>        dataItems.add(new TestPagerProvider.DataItem("Page A"));<br>        dataItems.add(new TestPagerProvider.DataItem("Page B"));<br>        dataItems.add(new TestPagerProvider.DataItem("Page C"));<br>        dataItems.add(new TestPagerProvider.DataItem("Page D"));<br>        return dataItems;<br>    }

 

ability_main.xml

 

 

1
<?xml version="1.0" encoding="utf-8"?><br><DirectionalLayout<br>    xmlns:ohos="http://schemas.huawei.com/res/ohos"<br>    ohos:height="match_parent"<br>    ohos:width="match_parent"<br>    ohos:alignment="center"<br>    ohos:orientation="vertical"><br>    <PageSlider<br>        ohos:id="$+id:page_slider"<br>        ohos:height="300vp"<br>        ohos:width="300vp"<br>        ohos:layout_alignment="horizontal_center"/><br></DirectionalLayout>

 

以上就是 短视频程序源码,PageSlider实现滑动页面的相关代码,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(93)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示