8.鸿蒙app java代码构建用户界面

鸿蒙app java代码构建用户界面

background_ability_main.xml

复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
       ohos:shape="rectangle">
    <solid
        ohos:color="#8F71A6F5"/>
</shape>

MainAbilitySlice.java

复制代码
package com.example.myapplication.slice;

import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.*;

import ohos.agp.components.element.ShapeElement;
import ohos.agp.utils.LayoutAlignment;
import ohos.agp.window.dialog.ToastDialog;
import ohos.app.Context;
import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;

public class MainAbilitySlice extends AbilitySlice {
    static final HiLogLabel loglabel2 = new HiLogLabel(HiLog.LOG_APP,0x001101,"MainAbility");
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
//       super.setUIContent(ResourceTable.Layout_ability_main);
//        HiLog.info(loglabel2,"onStart-----------------------------------");
//        int ppi = getContext().getResourceManager().getDeviceCapability().screenDensity;
//
//        HiLog.info(loglabel2,"屏幕密度:"+Integer.toString(ppi));
//
//      //  Text text2 = new Text();
//        DirectionalLayout.LayoutConfig configForText = new DirectionalLayout.LayoutConfig(
//                toPixels(100,getContext()),
//                toPixels(16,getContext())
//        );
//        //text2.setLayoutConfig(configForText);//如果报错,则导入import ohos.agp.components.Text;
//       // text2.set
//        Text text1 = (Text) findComponentById(ResourceTable.Id_text_1);
//        Text text2 = (Text) findComponentById(ResourceTable.Id_text_2);
//        Text text3 = (Text) findComponentById(ResourceTable.Id_text_3);
//        Text text3a = (Text) findComponentById(ResourceTable.Id_text_3a);
//        text1.setText("美好时光1");
//        text2.setText("万事如意");
//        text3.setText("好运常在");
//        text3a.setText("鸿蒙app demo");
//
//        Button button = (Button) findComponentById(ResourceTable.Id_btn1);
//        button.setText("启动");
//        button.setClickedListener(new Component.ClickedListener() {
//            @Override
//            public void onClick(Component component) {
//                new ToastDialog(getContext())
//                        .setText("设备已经启动。。。。。")
//                        .setAlignment(LayoutAlignment.CENTER)
//                        .show();
//            }
//        });
        ComponentContainer.LayoutConfig configForLayout = new ComponentContainer.LayoutConfig(
                ComponentContainer.LayoutConfig.MATCH_PARENT,
                ComponentContainer.LayoutConfig.MATCH_PARENT
                ); //设置宽与高,match_parent
        DirectionalLayout layout = new DirectionalLayout(this);
        layout.setLayoutConfig(configForLayout);
        layout.setOrientation(DirectionalLayout.VERTICAL);

        DirectionalLayout.LayoutConfig configForText= new DirectionalLayout.LayoutConfig(
                ComponentContainer.LayoutConfig.MATCH_CONTENT,
                ComponentContainer.LayoutConfig.MATCH_CONTENT

                );
        configForText.alignment = LayoutAlignment.HORIZONTAL_CENTER;
        Text text = new Text(this);
        text.setLayoutConfig(configForText);
        text.setBackground(new ShapeElement(
                getContext(),
                ResourceTable.Graphic_background_ability_main
        ));
        text.setText("hello world by java");
        text.setTextSize(50);
        layout.addComponent(text);
        //讲UI内容设置为定向布局
        super.setUIContent(layout);

    }
    /**
     *虚拟像素转物理像素
     */
    private  static int toPixels(int value, Context context)
    {
        return value * context.getResourceManager().getDeviceCapability().screenDensity/160;
    }
    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}
相关推荐
hqxstudying22 分钟前
Java创建型模式---原型模式
java·开发语言·设计模式·代码规范
Dcs41 分钟前
VSCode等多款主流 IDE 爆出安全漏洞!插件“伪装认证”可执行恶意命令!
java
保持学习ing1 小时前
day1--项目搭建and内容管理模块
java·数据库·后端·docker·虚拟机
京东云开发者1 小时前
Java的SPI机制详解
java
超级小忍1 小时前
服务端向客户端主动推送数据的几种方法(Spring Boot 环境)
java·spring boot·后端
HarmonyOS_SDK1 小时前
京东携手HarmonyOS SDK首发家电AR高精摆放功能
harmonyos
程序无bug1 小时前
Spring IoC注解式开发无敌详细(细节丰富)
java·后端
塞尔维亚大汉1 小时前
鸿蒙内核源码分析(根文件系统) | 先挂到/上的文件系统
源码·harmonyos
小莫分享1 小时前
Java Lombok 入门
java
程序无bug1 小时前
Spring 对于事务上的应用的详细说明
java·后端