Flex中设置进度条(ProgressBar)完成时效果

以下的例子展示了当进度条完成(100%)时的一个效果
'; } else { whichEl.style.display = 'none'; sb.innerHTML=' 显示代码'; whichEl.witdh="300px"; } }   隐藏代码

DE<<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/03/15/setting-a-complete-effect-on-a-progressbar-control-in-flex/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white">

    <mx:Script>
        <![CDATA[
            private var timer:Timer;

            private function init():void {
                timer = new Timer(10);
                timer.addEventListener(TimerEvent.TIMER, timer_timer);
            }

            private function timer_timer(evt:TimerEvent):void {
                progressBar.setProgress(progressBar.value + 1, 100);
            }

            private function progressBar_complete(evt:Event):void {
                timer.stop();
            }

            private function resetProgressBar():void {
                progressBar.setProgress(0, 100);
                progressBar.scaleX = 1.0; // 100%
                progressBar.scaleY = 1.0; // 100%
                progressBar.alpha = 1.0; // 100%
            }

            private function playProgressBar():void {
                resetProgressBar();
                timer.start();
            }
        ]]>
    </mx:Script>

    <mx:Parallel id="progressBar_completeEffect">
        <mx:Fade alphaTo="0.0" />
        <mx:Zoom zoomHeightTo="0" />
    </mx:Parallel>

    <mx:ApplicationControlBar dock="true">
        <mx:Button label="Play"
                click="playProgressBar();" />
        <mx:Button label="Reset"
                click="resetProgressBar();" />
    </mx:ApplicationControlBar>

    <mx:ProgressBar id="progressBar"
            complete="progressBar_complete(event);"
            completeEffect="{progressBar_completeEffect}"
            mode="manual"
            labelPlacement="center"
            width="80%"
            height="60%"
            creationComplete="init();" />

</mx:Application>
DE<

查看Demo演示

原创作者: peterd。翻译整理:一路风尘
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现这个布局,可以使用uniapp的flex布局。具体步骤如下: 1. 在列表项,使用flex布局,并设置flex-direction为row,使得子元素水平排列。 2. 左边的图片可以使用img标签来显示,右边的进度条可以使用uniapp提供的progressbar组件。 3. 右侧的标题和数字可以使用text标签来显示。标题放在进度条的最左边,数字放在进度条最右边。 4. 使用flex布局来控制子元素的宽度,使得左边的图片和右边的进度条占据固定的宽度,而标题和数字占据剩余的宽度。 示例代码如下: ``` <template> <view class="list-item"> <img class="list-img" :src="imageUrl" /> <view class="list-progress"> <progressbar :percent="percent" show-info /> <view class="list-title">{{title}}</view> <view class="list-number">{{number}}</view> </view> </view> </template> <style> .list-item { display: flex; flex-direction: row; align-items: center; padding: 10rpx; } .list-img { width: 80rpx; height: 80rpx; margin-right: 10rpx; } .list-progress { flex: 1; display: flex; flex-direction: row; align-items: center; } .list-title { flex: 1; margin-right: 10rpx; color: #333; font-size: 28rpx; } .list-number { color: #999; font-size: 28rpx; } </style> <script> export default { props: { imageUrl: String, percent: Number, title: String, number: Number } } </script> ``` 在使用该组件,只需要传入对应的props即可: ``` <template> <view> <list-item v-for="(item, index) in list" :key="index" :image-url="item.imageUrl" :percent="item.percent" :title="item.title" :number="item.number" /> </view> </template> <script> import ListItem from '@/components/ListItem' export default { components: { ListItem }, data() { return { list: [ { imageUrl: 'https://xxx.com/image1.png', percent: 50, title: '标题1', number: 100 }, { imageUrl: 'https://xxx.com/image2.png', percent: 80, title: '标题2', number: 200 } ] } } } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值