鸿蒙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);
    }
}
复制代码

 

posted @   txwtech  阅读(131)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-12-16 vnc access is denied 此电脑右键-勾选允许远程控制
点击右上角即可分享
微信分享提示