
回复
与Android api保持一致
参考其他Scroller教程
由于一些系统的差异,导致使用起来需要注意:
1.Android中的Scroller与ScrollerCompact都可以用Scroller类替换
2.在借助Scroller与Runnable做惯性滚动时,Android可以借助View的post方法反复post Runnable来更新ui,鸿蒙的component没有post方法因此需要借助EventHandler来实现:
mHandler = new EventHandler(EventRunner.getMainEventRunner());
mHandler.postTask(runnable, 10); //此处需要延迟执行,不然在ohos中会立马执行这个runnable从而导致线程阻塞造成卡顿
具体用法与Android中大致一致。
参考其他Toolbar教程。
<com.ryan.ohos.extension.widget.toolbar.Toolbar
...
ohos:hideNavigationIcon="false"
ohos:statusBarHeight="30vp"
ohos:statusBarBackground="$color:primaryColor" />
statusBar相关属性需要配合透明状态栏一起使用:
...
"abilities": [
{
"metaData": {
"customizeData": [
{
"name": "hwc-theme",
"value": "androidhwext:style/Theme.Emui.NoTitleBar",
"extra": ""
}
]
},
...
},
...
]
@Override
public void onStart(Intent intent) {
super.onStart(intent);
WindowManager.getInstance().getTopWindow().get().setStatusBarColor(Color.TRANSPARENT.getValue());
getWindow().addFlags(WindowManager.LayoutConfig.MARK_TRANSLUCENT_STATUS);
setUIContent(ResourceTable.Layout_ability_main);
}
Toolbar的默认值可以查看src\main\resources\base\element\toolbar.json
<com.ryan.ohos.extension.widget.toolbar.Toolbar
ohos:id="$+id:toolbar"
ohos:height="$float:toolbarHeight"
ohos:width="match_parent">
<Text
ohos:height="match_content"
ohos:width="match_content"
ohos:text_size="15vp"
ohos:text_color="#fff"
ohos:text="title"
ohos:layout_gravity="center"/>
</com.ryan.ohos.extension.widget.toolbar.Toolbar>