# Arkuiåç³»ç»Ÿå˜æ›´è¯´æ˜Ž ## cl.Arkui.1 QRCode组件的默认颜色ã€é»˜è®¤èƒŒæ™¯é¢œè‰²å’Œé»˜è®¤å°ºå¯¸å˜æ›´ **访问级别** å…¬å¼€æŽ¥å£ **å˜æ›´åŽŸå› ** 当å‰QRCode组件的默认颜色和默认尺寸ä¸ç¬¦åˆUXè§„èŒƒï¼Œå› æ¤ä¾ç…§UX规范åšå‡ºå˜æ›´ã€‚ **å˜æ›´å½±å“** è¯¥å˜æ›´ä¸ºå…¼å®¹æ€§å˜æ›´ï¼Œæ”¹å˜äº†ç»„件默认情况下的显示颜色和尺寸,æå‡äº†ç»„件的默认显示效果。 **API Level** 7 **å˜æ›´çš„æŽ¥å£/组件** API 11å‰ï¼ŒäºŒç»´ç 默认颜色是Color.Black,默认背景颜色是Color.White,组件默认宽高是父组件大å°ã€‚  API 11åŠä»¥åŽï¼ŒäºŒç»´ç 默认颜色是系统资æºä¸çš„`ohos_id_color_foreground`,默认背景颜色是系统资æºä¸çš„`ohos_id_color_background`,组件默认宽度和高度都是240vp。  **适酿Œ‡å¯¼** 请查阅[QRCode组件](../../../application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-qrcode.md)文档进行适é…。 示例代ç : ```ts // xxx.ets @Entry @Component struct QRCodeExample { private value: string = 'hello world' build() { Column() { QRCode(this.value) }.width('100%').height('100%') } } ``` ## cl.arkui.2 Refreshå˜æ›´ **访问级别** å…¬å¼€æŽ¥å£ **å˜æ›´åŽŸå› ** UXå¢žå¼ºå¯¼è‡´çš„è§„æ ¼å˜æ›´ã€‚ **å˜æ›´å½±å“** 1ã€é»˜è®¤åˆ·æ–°åœºæ™¯ API 11以å‰ï¼ŒRefresh组件嵌套å组件,默认场景,刷新组件下拉,å组件ä¸è·Ÿéšä¸‹ç§»ã€‚滑动组件的边缘回弹效果和loading的移动是相互独立的。  API 11åŠä»¥åŽï¼ŒRefresh组件嵌套å组件,刷新组件下拉,å组件下移。  2ã€ä½¿ç”¨builder接å£è‡ªå®šä¹‰åˆ·æ–°ç»„ä»¶ API 11以å‰ï¼ŒRefresh组件嵌套å组件,自定义刷新组件,刷新组件的高度ä¸å¤§äºŽ64vp。滑动组件的边缘回弹效果和builderä¸‹æ‹‰åŒæ—¶ç”Ÿæ•ˆã€‚  API 11åŠä»¥åŽï¼ŒRefresh组件嵌套å组件,刷新组件下拉,å组件下移。自定义刷新组件builder的高度没有é™åˆ¶ã€‚  3ã€friction接å£å˜æ›´ API 11以å‰ï¼ŒRefresh下拉使用固定跟手系数,跟手系数å¯ä»¥é€šè¿‡friction接å£è®¾ç½®ã€‚ API 11åŠä»¥åŽï¼ŒRefresh下拉使用动æ€è·Ÿæ‰‹ç³»æ•°ï¼Œä¸‹æ‹‰è·ç¦»è¶Šå¤§ï¼Œè·Ÿæ‰‹ç³»æ•°è¶Šå°ã€‚通过friction设置的跟手系数ä¸ç”Ÿæ•ˆã€‚ 4ã€offset接å£å˜æ›´ API 11以å‰ï¼ŒRefresh组件å¯ä»¥ä½¿ç”¨offset接å£è®¾ç½®loadingProgress开始显示时的下拉è·ç¦»ã€‚ API 11以åŽï¼ŒRefresh组件下拉16vpåŽå¼€å§‹æ˜¾ç¤ºloadingProgresså›¾æ ‡ï¼Œoffset接å£è®¾ç½®ä¸ç”Ÿæ•ˆã€‚ **API Level** 8 **å˜æ›´å‘生版本** 从OpenHarmony SDK 4.1.2.2 开始。 **å˜æ›´çš„æŽ¥å£/组件** Refresh **适酿Œ‡å¯¼** 1ã€é»˜è®¤åˆ·æ–°åœºæ™¯ 请查阅[Refresh组件](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-refresh.md)æ–‡æ¡£è¿›è¡Œé€‚é… ç¤ºä¾‹ä»£ç : ```ts @Entry @Component struct RefreshExample { @State isRefreshing: boolean = false @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10'] build() { Column() { Refresh({ refreshing: $$this.isRefreshing}) { List() { ForEach(this.arr, (item: string) => { ListItem() { Text('' + item) .width('100%').height(100).fontSize(16) .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) } }, (item: string) => item) } .onScrollIndex((first: number) => { console.info(first.toString()) }) .width('100%') .height('100%') .divider({strokeWidth:1,color:Color.Yellow,startMargin:10,endMargin:10}) .scrollBar(BarState.Off) .backgroundColor(Color.Yellow) } .onStateChange((refreshStatus: RefreshStatus) => { console.info('Refresh onStatueChange state is ' + refreshStatus) }) .onRefreshing(() => { setTimeout(() => { this.isRefreshing = false }, 2000) console.log('onRefreshing test') }) .backgroundColor(0x89CFF0) } } } ``` 2ã€ä½¿ç”¨builder接å£è‡ªå®šä¹‰åˆ·æ–°ç»„ä»¶ 请查阅[Refresh组件](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-refresh.md)æ–‡æ¡£è¿›è¡Œé€‚é… ç¤ºä¾‹ä»£ç : ```ts // xxx.ets @Entry @Component struct RefreshExample { @State isRefreshing: boolean = false @State arr: String[] = ['0', '1', '2', '3', '4','5','6','7','8','9','10'] @Builder customRefreshComponent() { Stack() { Row() { LoadingProgress().height(32) Text("æ£åœ¨åˆ·æ–°...").fontSize(16).margin({left:20}) } .alignItems(VerticalAlign.Center) }.width("100%").align(Alignment.Center) } build() { Column() { Refresh({ refreshing: $$this.isRefreshing,builder:this.customRefreshComponent()}) { List() { ForEach(this.arr, (item: string) => { ListItem() { Text('' + item) .width('100%').height(100).fontSize(16) .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) } }, (item: string) => item) } .onScrollIndex((first: number) => { console.info(first.toString()) }) .width('100%') .height('100%') .divider({strokeWidth:1,color:Color.Yellow,startMargin:10,endMargin:10}) .scrollBar(BarState.Off) .backgroundColor(Color.Yellow) } .onStateChange((refreshStatus: RefreshStatus) => { console.info('Refresh onStatueChange state is ' + refreshStatus) }) .onRefreshing(() => { setTimeout(() => { this.isRefreshing = false }, 2000) console.log('onRefreshing test') }) .backgroundColor(0x89CFF0) } } } ``` 3ã€frictionå’Œoffset接å£å˜æ›´ API 11åŠä»¥åŽï¼Œfrictionå’Œoffset设置ä¸ç”Ÿæ•ˆï¼ŒæŒ‰ç³»ç»Ÿé»˜è®¤UXæ•ˆæžœå®žçŽ°ï¼Œæ— éœ€é€‚é…。