XUI
項(xiàng)目地址梅尤,請(qǐng)star支持岩调!
一個(gè)簡(jiǎn)潔而又優(yōu)雅的Android原生UI框架号枕,解放你的雙手陨享!還不趕緊點(diǎn)擊使用說(shuō)明文檔,體驗(yàn)一下吧赞厕!
涵蓋絕大部分的UI組件:TextView定硝、Button喷斋、EditText、ImageView浆西、Spinner顽腾、Picker、Dialog久信、PopupWindow漓摩、ProgressBar管毙、LoadingView、StateLayout啃炸、FlowLayout卓舵、Switch、Actionbar裹虫、TabBar、Banner睦刃、GuideView十酣、BadgeView、MarqueeView兴泥、WebView搓彻、SearchView等一系列的組件和豐富多彩的樣式主題嘱朽。
在使用前,請(qǐng)一定要仔細(xì)閱讀使用說(shuō)明文檔,重要的事情說(shuō)三遍O」臁0毒艰赞!
在使用前,請(qǐng)一定要仔細(xì)閱讀使用說(shuō)明文檔,重要的事情說(shuō)三遍O粱辍5趁佟!
在使用前掷伙,請(qǐng)一定要仔細(xì)閱讀使用說(shuō)明文檔,重要的事情說(shuō)三遍S直E娉!
特征
- 簡(jiǎn)潔優(yōu)雅宅粥,盡可能少得引用資源文件的數(shù)量电谣,項(xiàng)目庫(kù)整體大小不足1M(打包后大約644k)
- 組件豐富剿牺,提供了絕大多數(shù)我們?cè)陂_發(fā)者常用的功能組件。
- 使用簡(jiǎn)單钞诡,為方便快速開發(fā)湃崩,提高開發(fā)效率,對(duì)api進(jìn)行了優(yōu)化朵诫,提供一鍵式接入整陌。
- 樣式統(tǒng)一泌辫,框架提供了一系列統(tǒng)一的樣式,使UI整體看上去美觀和諧宾毒。
- 兼容性高殿遂,框架還提供了3種不同尺寸設(shè)備的樣式(4.5英寸墨礁、7英寸和10英寸),讓UI兼容性更強(qiáng)焕毫。
- 擴(kuò)展性強(qiáng),各組件提供了豐富的屬性和樣式API循签,可以通過(guò)設(shè)置不同的樣式屬性疙咸,構(gòu)建不同風(fēng)格的UI撒轮。
如何使用
在決定使用XUI前,你必須明確的一點(diǎn)是杆查,此框架給出的是一整套UI的整體解決方案臀蛛,如果你只是想使用其中的幾個(gè)控件浊仆,那大可不必引入如此龐大的一個(gè)UI庫(kù),Github上會(huì)有更好的組件庫(kù)舔琅。如果你是想擁有一套可以定制的洲劣、統(tǒng)一的UI整體解決方案的話囱稽,那么你就繼續(xù)往下看吧!
添加Gradle依賴
1.先在項(xiàng)目根目錄的 build.gradle 的 repositories 添加:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
2.然后在dependencies添加:
dependencies {
...
//androidx項(xiàng)目
implementation 'com.github.xuexiangjys:XUI:1.1.5'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'com.github.bumptech.glide:glide:4.11.0'
}
【注意】如果你的項(xiàng)目目前還未使用androidx流昏,請(qǐng)使用如下配置:
dependencies {
...
//support項(xiàng)目
implementation 'com.github.xuexiangjys:XUI:1.0.9-support'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.github.bumptech.glide:glide:4.8.0'
}
初始化XUI設(shè)置
1.在Application最頂部初始化設(shè)置(必須)
XUI.init(this); //初始化UI框架
XUI.debug(true); //開啟UI框架調(diào)試日志
2.調(diào)整應(yīng)用的基礎(chǔ)主題(必須)
必須設(shè)置應(yīng)用的基礎(chǔ)主題况凉,否則組件將無(wú)法正常使用各拷!必須保證所有用到XUI組件的窗口的主題都為XUITheme的子類烤黍,這非常重要A肝搿3跽奢入!
基礎(chǔ)主題類型:
大平板(10英寸, 240dpi, 1920*1200):XUITheme.Tablet.Big
小平板(7英寸, 320dpi, 1920*1200):XUITheme.Tablet.Small
手機(jī)(4.5英寸, 320dpi, 720*1280):XUITheme.Phone
<style name="AppTheme" parent="XUITheme.Phone">
<!-- 自定義自己的主題樣式 -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
當(dāng)然也可以在Activity剛開始時(shí)調(diào)用如下代碼動(dòng)態(tài)設(shè)置主題
@Override
protected void onCreate(Bundle savedInstanceState) {
XUI.initTheme(this);
super.onCreate(savedInstanceState);
...
}
3.調(diào)整字體庫(kù)(對(duì)字體無(wú)要求的可省略)
(1)設(shè)置你需要修改的字體庫(kù)路徑(assets下)
//設(shè)置默認(rèn)字體為華文行楷腥光,這里寫你的字體庫(kù)
XUI.getInstance().initFontStyle("fonts/hwxk.ttf");
(2)在項(xiàng)目的基礎(chǔ)Activity中加入如下代碼注入字體.
注意:1.1.4版本之后使用如下設(shè)置注入
@Override
protected void attachBaseContext(Context newBase) {
//注入字體
super.attachBaseContext(ViewPumpContextWrapper.wrap(newBase));
}
注意:1.1.3版本及之前的版本使用如下設(shè)置注入
@Override
protected void attachBaseContext(Context newBase) {
//注入字體
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
混淆配置
-keep class com.xuexiang.xui.widget.edittext.materialedittext.** { *; }
演示
演示程序截圖
Demo下載
演示程序大概18M(主要是demo中集成了一個(gè)小視頻拍攝的庫(kù)比較大汞舱,大約13M左右昂芜,而XUI庫(kù)目前只有644k大小)良漱,項(xiàng)目比較大欢际,推薦使用蒲公英下載。