鸿蒙Harmony实战开发:下载文件存储按钮-Download

下载文件按钮,通过点击该下载按钮,可以获取到当前应用在Download公共目录中所属的存储路径。

说明

该组件从API Version 12开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

导入模块

import { DownloadFileButton } from '@kit.ArkUI'

子组件

属性

支持通用属性【纯血版鸿蒙全套最新学习资料】希望这一份鸿蒙学习资料能够给大家带来帮助!~

DownloadFileButton

Downloadbutton(contentOptions?:DownloadContentOptions, styleOptions?:DownloadStyleOptions)

下载文件按钮组件,默认显示图标和文字。

装饰器类型:@Component

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

名称类型必填装饰器类型说明
contentOptionsDownloadContentOptions@State创建包含指定元素内容的下载按钮。
styleOptionsDownloadStyleOptions@State创建包含指定元素样式的下载按钮。

DownloadContentOptions

下载文件按钮中显示的内容。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称类型必填说明
iconDownloadIconStyle

设置下载按钮的图标风格

不传入该参数表示没有图标,icon和text至少存在一个。

textDownloadDescription

设置下载按钮的文本描述

不传入该参数表示没有文字描述,icon和text至少存在一个。

DownloadStyleOptions

下载文件按钮中图标和文字的样式。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称类型必填说明
iconSizeDimension

下载控件上图标的尺寸。

默认值:16vp

layoutDirectionDownloadLayoutDirection

下载控件上图标和文字分布的方向。

默认值:DownloadLayoutDirection.HORIZONTAL

fontSizeDimension

下载控件上文字的尺寸。

默认值:16fp

fontStyleFontStyle

下载控件上文字的样式。

默认值:FontStyle.Normal

fontWeightnumber | FontWeight | string

下载控件上文字粗细。

默认值:FontWeight.Medium

fontFamilystring | Resource

下载控件上文字的字体。

默认字体:'HarmonyOS Sans'

fontColorResourceColor

下载控件上文字的颜色。

默认值:#ffffffff

iconColorResourceColor

下载控件上图标的颜色。

默认值:#ffffffff

textIconSpaceDimension

下载控件中图标和文字的间距。

默认值:4vp

DownloadIconStyle

下载文件按钮中图标的风格。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称说明
FULL_FILLED1下载按钮展示填充样式图标。
LINES2下载按钮展示线条样式图标。

DownloadDescription

下载按钮中文字的内容。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称说明
DOWNLOAD1下载按钮的文字描述为“下载”。
DOWNLOAD_FILE2下载按钮的文字描述为“下载文件”。
SAVE3下载按钮的文字描述为“保存”。
SAVE_IMAGE4下载按钮的文字描述为“保存图片”。
SAVE_FILE5下载按钮的文字描述为“保存文件”。
DOWNLOAD_AND_SHARE6下载按钮的文字描述为“下载分享”。
RECEIVE7下载按钮的文字描述为“接收”。
CONTINUE_TO_RECEIVE8下载按钮的文字描述为“继续接收”。

DownloadLayoutDirection

下载文件按钮中图标和文字的排列方式。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称说明
HORIZONTAL0下载控件上图标和文字分布的方向为水平排列。
VERTICAL1下载控件上图标和文字分布的方向为垂直排列。

事件

支持通用事件【纯血版鸿蒙全套最新学习资料】希望这一份鸿蒙学习资料能够给大家带来帮助!~

示例

import { picker } from '@kit.CoreFileKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { DownloadFileButton, DownloadLayoutDirection } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  build() {
    Column() {
      DownloadFileButton({
        contentOptions: {
          // icon: DownloadIconStyle.FULL_FILLED,
          // text: DownloadDescription.DOWNLOAD
        },
        styleOptions: {
          iconSize: '16vp',
          layoutDirection: DownloadLayoutDirection.HORIZONTAL,
          fontSize: '16vp',
          fontStyle: FontStyle.Normal,
          fontWeight: FontWeight.Medium,
          fontFamily: 'HarmonyOS Sans',
          fontColor: '#ffffffff',
          iconColor: '#ffffffff',
          textIconSpace: '4vp'
        }
      })
        .backgroundColor('#007dff')
        .borderStyle(BorderStyle.Dotted)
        .borderWidth(0)
        .borderColor('')
        .borderRadius('24vp')
        .position({ x: 0, y: 0 })
        .markAnchor({ x: 0, y: 0 })
        .offset({ x: 0, y: 0 })
        .constraintSize({})
        .padding({
          top: '12vp',
          bottom: '12vp',
          left: '24vp',
          right: '24vp'
        })
        .onClick(() => {
          this.downloadAction();
        })
    }
  }

  downloadAction() {
    try {
      const document = new picker.DocumentSaveOptions();
      document.pickerMode = picker.DocumentPickerMode.DOWNLOAD;
      new picker.DocumentViewPicker().save(document, (err: BusinessError, result: Array<string>) => {
        if (err) {
          return;
        }
        console.info(`downloadAction result:  ${JSON.stringify(result)}`);
      });
    } catch (e) {
    }
  }
}

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值