Skip to content

CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.Mybe an other choice of emwin ,touchgfx,awtk. it is more frientdly for android developers.

License

houstudio/cdroid

Repository files navigation

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 fetchcode:spux (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

About

CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.Mybe an other choice of emwin ,touchgfx,awtk. it is more frientdly for android developers.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published