Migrated repository
Go to file
2024-05-15 22:48:42 +08:00
apps fix sdl's keymap for F1-->F12 2024-05-15 20:19:29 +08:00
cmake modify options.cmake foe fribidi building 2024-05-13 16:05:28 +08:00
docs update readme and screenshots 2022-07-06 09:58:05 +08:00
scripts modify RippleDrawable,change macro MASK_LAYER_ID to cdroid::R:🆔:mask 2023-12-14 11:58:18 +08:00
src add SCREEN_SIZE to SDL 2024-05-15 22:48:42 +08:00
tests fix INPUTDEVICE.MTA 2024-05-10 16:36:18 +08:00
.gitignore add python script to create project faster 2023-12-23 09:34:25 +08:00
build.sh add ingenic's x2600 porting 2023-10-04 15:36:35 +08:00
CMakeLists.txt change ViewGroup's measureChildWithMargins measureChild to virtual 2024-03-08 09:28:34 +08:00
CMakeSettings.json add CMakeSettings.json for visual studio 2023-09-14 19:01:28 +08:00
Doxyfile.in CDROID's First commit 2021-06-24 10:12:55 +08:00
LICENSE CDROID's First commit 2021-06-24 10:12:55 +08:00
README.cn.md update README.cn.md. 2024-03-30 06:54:55 +00:00
README.md update README.md. 2024-03-30 06:55:22 +00:00

Introduction

CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.

Features:

  • Multi Layer/Multi Window
  • Integrated with 40+ UI Components and 20+ Drawables(compatible with android)
  • All UI Components(Layouts,Drawables...)can be designed in AndroidStudio or Eclipse
  • Vector Graph supported via Cairo

Quick Start

  • VM(Ware):https://pan.baidu.com/s/1-v-rLcHxo5W5TXvJ2NUWxA fetchcodespux (VM Ubuntu User:cdroid password:123456
  • After login pls run git pull to get new version of cdroid
  • You'd better remove outXXX and run build.sh to rebuild makefiles after each git pull.

IDE(AndroidStudio/Eclipse)

IDE

ScreenShots

demo0 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 Pott

UI Components:

  • View
  • TextView
  • EditText
  • Button
  • ImageView
  • ImageButton,
  • CompoundButton
  • ToggleButton
  • CheckBox
  • RadioButton
  • ProgressBar
  • SeekBar
  • Chronometer
  • AnalogClock,
  • SimpleMonthView
  • ViewGroup
  • RadioGroup
  • ScrollView
  • HorizontalScrollView
  • CalendarView
  • ViewPager
  • TabWidget
  • NumberPicker
  • AdapterView
  • AbsListView
  • Spinner
  • ListView
  • GridView
  • RecyclerView
  • YearPickerView

Supported Layouts:

  • FrameLayout
  • LinearLayout
  • TableRow
  • TableLayout
  • AbsoluteLayout
  • GridLayout

Supported Drawables:

  • ColorDrawable
  • BitmapDrawable
  • NinepatchDrawable
  • InsetDrawable
  • ShapeDrawable
  • TransitionDrawable
  • LayerDrawable
  • StateListDrawable
  • LevelListDrawable
  • ClipDrawable
  • GradientDrawable
  • RotateDrawable
  • ScaleDrawable
  • AnimatedRotateDrawable
  • AnimatedImageDrawable
  • TransitionDrawable

Porting guide:

  • 1 A new product porting should be placed to src/porting/xxx(where xxx is you chipset name)
  • 2 implement your porting api to xxx directory
  • 3 modify build.sh to support your port(you should configure sysroot toolchain...).
  • 4 call build.sh --product=xxx
  • 5 make you project(SeeAlso Building CDROID)

Building CDROID:

1.install dependencs:

sudo apt install autoconf libtool build-essential cmake gdb pkg-config zip gettext libx11-dev bison python>=3.7 pip3-python meson

2.install vcpkg:

3.install cdroid deplibs:

  • ./cdroid_install_libs.sh --triplet=x64-linux-dynamic

4.download cdroid source code:

5.build cdroid:

  • cd cdroid
  • ./build.sh --build=debug
  • cd outX64-Debug
  • make -j

6.prepare system and app resource

The cdroid.pak and yourapp's pak must be in your working directory

  • cp src/gui/cdroid.pak ./
  • cp apps/appname/appname.pak ./

7.run samples(in directory outX64-Debug

  • apps/samples/helloworld
  • apps/uidemo1/uidemo1