电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1693|回复: 0
收起左侧

北向应用:自定义dialog布局实践

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2020-12-7 17:56:29 | 显示全部楼层 |阅读模式
北向应用:自定义dialog布局实践, 研学之自定义dialog布局实践。

显示效果:



点击图中的文字进行下一步



代码的实现:

第一个布局文件

<?xml version=“1.0“ encoding=“utf-8“?>

<Directionallayout

     xmlns:ohos=“http://schemas.huawei.com/res/ohos“

     ohos:height=“match_parent“

     ohos:width=“match_parent“

     ohos:orientation=“vertical“>



     <Button

         ohos:id=“$+id:text_01“

         ohos:width=“match_content“

         ohos:height=“match_content“

         ohos:text_size=“30fp“

         ohos:text=“Dialog显示“

         ohos:top_margin=“0vp“

         ohos:text_color=“red“/>



</DirectionalLayout>

第二个布局文件

<?xml version=“1.0“ encoding=“utf-8“?>

<DirectionalLayout

     xmlns:ohos=“http://schemas.huawei.com/res/ohos“

     ohos:width=“match_parent“

     ohos:height=“match_content“

     ohos:padding=“10vp“

     ohos:background_element=“grey“

     ohos:orientation=“vertical“>



     <Text

         ohos:width=“match_parent“

         ohos:height=“match_content“

         ohos:text=“Dialog标题“

         ohos:text_color=“Black“

         ohos:text_style=“bold“

         ohos:text_size=“40fp“/>



     <Text

         ohos:width=“match_parent“

         ohos:height=“match_parent“

         ohos:text=“自定义Dialog内容“

         ohos:text_color=“Black“

         ohos:text_style=“bold“

         ohos:weight=“1“

         ohos:text_alignment=“vertical_center“

         ohos:top_margin=“30vp“

         ohos:bottom_margin=“30vp“

         ohos:left_margin=“10vp“

         ohos:right_margin=“10vp“

         ohos:text_size=“30fp“/>





     <DirectionalLayout

         ohos:height=“match_content“

         ohos:width=“match_parent“

         ohos:orientation=“horizontal“>



         <Button

             ohos:width=“match_parent“

             ohos:text=“取消“

             ohos:text_size=“30fp“

             ohos:padding=“10vp“

             ohos:text_color=“White“

             ohos:weight=“1“

             ohos:margin=“10vp“

             ohos:background_element=“yellow“

             ohos:height=“match_content“/>



         <Button

             ohos:width=“match_parent“

             ohos:text=“确定“

             ohos:text_size=“30fp“

             ohos:weight=“1“

             ohos:padding=“10vp“

             ohos:text_color=“White“

             ohos:margin=“10vp“

             ohos:background_element=“green“

             ohos:height=“match_content“/>



     </DirectionalLayout>



</DirectionalLayout>

然后进行绑定

package com.example.jltfdialog.slice;



import com.example.jltfdialog.ResourceTable;

import ohos.aafwk.ability.AbilitySlice;

import ohos.aafwk.content.Intent;

import ohos.agp.components.Button;

import ohos.agp.components.Component;

import ohos.agp.components.LayoutScatter;

import ohos.agp.window.dialog.CommonDialog;



public class MainAbilitySlice extends AbilitySlice {

     @Override

     public void onStart(Intent intent) {

         super.onStart(intent);

         CommonDialog commonDialog = new   CommonDialog(this);

        super.setUIContent(ResourceTable.
Layout_layout1);

         Button button= (Button) findComponentById(ResourceTable.
Id_text_01);

         button.setClickedListener(new Component.ClickedListener() {

             @Override

             public void onClick(Component component) {





                 Component component1 =   LayoutScatter.
getInstance(getContext())



                         .parse(ResourceTable.
Layout_ability_main,   null, true);



                 commonDialog.setSize(800, 500);



                 commonDialog.setContentCustomComponent(component1);



                 commonDialog.show();

             }

         });



     }



     @Override

     public void onActive() {

         super.onActive();

     }



     @Override

     public void onForeground(Intent intent) {

         super.onForeground(intent);

     }

}
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表