Android中如何利用Minui显示字符的最简单Demo

在做下面操作之前,需要先干掉SurfaceFlinger进程,参考:Android中怎么方便的调试关机充电
1.Android.mk文件如下:

# Copyright 2013 The Android Open Source Project

LOCAL_PATH := $(call my-dir)



include $(CLEAR_VARS)

LOCAL_SRC_FILES := \
    main.cpp \

LOCAL_MODULE := minui
LOCAL_MODULE_TAGS := optional
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)

LOCAL_CFLAGS := -D__STDC_LIMIT_MACROS -Werror


LOCAL_C_INCLUDES := bootable/recovery

LOCAL_STATIC_LIBRARIES := \
    libbinder \
    libminui \
    libpng \
    libz \
    libutils \
    libbase \
    libcutils \
    liblog \
    libm \
    libc


LOCAL_HAL_STATIC_LIBRARIES := libhealthd



include $(BUILD_EXECUTABLE)

2.源码(main.cpp)如下:

#include "minui/minui.h"
static int char_width;
static int char_height;
void healthd_board_mode_charger_set_backlight(bool en);

static int draw_text(const char *str, int x, int y)
{
    int str_len_px = gr_measure(gr_sys_font(), str);

    if (x < 0)
        x = (gr_fb_width() - str_len_px) / 2;
    if (y < 0)
        y = (gr_fb_height() - char_height) / 2;
    gr_text(gr_sys_font(), x, y, str, 0);

    return y + char_height;
}

static void android_green(void)
{
    gr_color(0xa4, 0xc6, 0x39, 255);
}

static void clear_screen(void)
{
    gr_color(0, 0, 0, 255);
    gr_clear();
}

int main(void)
{
	gr_init();
	gr_font_size(gr_sys_font(), &char_width, &char_height);
	
	clear_screen();
	healthd_board_mode_charger_set_backlight(true);
	
	android_green();
    draw_text("Hello World!", -1, -1);
	gr_flip();
	
	printf("run anim\n");

	while(1);
	return 0;
}

3.显示效果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值