mirror of
https://gitee.com/houstudio/Cdroid.git
synced 2024-12-10 23:02:21 +08:00
Migrated repository
apps | ||
cmake | ||
docs | ||
scripts | ||
src | ||
tests | ||
.gitignore | ||
build.sh | ||
CMakeLists.txt | ||
CMakeSettings.json | ||
Doxyfile.in | ||
LICENSE | ||
README.cn.md | ||
README.md |
Introduction
CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.
- Main repository: https://gitee.com/houstudio/cdroid
- Mirrored repository: https://github.com/houstudio/cdroid
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)
ScreenShots
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:
- git clone https://gitee.com/houstudio/vcpkg.git
- cd vcpkg
- ./bootstrap-vcpkg.sh
3.install cdroid deplibs:
- ./cdroid_install_libs.sh --triplet=x64-linux-dynamic
4.download cdroid source code:
- cd ~
- git clone http://www.gitee.com/houstudio/cdroid.git
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