Android studio引入XUI
Android studio上如何引入XUI,并使用其组件。
之前我认为自己的脑子还是比较好使的,然后每次遇到问题直接查,但是经过很多次的百度,我发现自己的脑子并不是很好使,因为前脚查完的东西后脚就忘了,这次我准备直接写到自己的笔记里得了。不说废话了直接开始操作步骤。上才艺~~~~
第一步
在自己的Android studio 上New一个Project, 手机的模板就用个简单的就好 Empty Activity,用这个模板就
好,在创建到如下图的时候,我们的Minimum SDK尽量选择17就行了,不用太高,如果太高的话有可能再引入XUI的
时候出现一些错误,然后我们就可以直接点右下角的finish了,一个空的project用的依赖也比较多,所以可能会等
的时间长一点,大家耐心等待就好。
第二步
进入XUI的GitHub地址
XUI的github地址: https://github.com/xuexiangjys/XUI.
点击红色框里的wiki
来到这里再点击如何引用
第三步
接下来就是核心了,首先给Gradle添加依赖,当然我图里添加了两个地方,大家就按照我的方式添加就行
他俩还是有关系的allprojects呢是所有依赖的仓库,buildscript呢是一个编译脚本的仓库
1.先在项目根目录的 build.gradle 的 repositories 添加:allprojects {repositories {...maven { url "https://jitpack.io" }}}
第四步
在app文件夹里的build.gradle文件中 dependencies {...//androidx项目implementation 'com.github.xuexiangjys:XUI:1.1.6'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' 这个依赖在文档中是4.11.0但是我们只需要下面这个4.8.0就可以了,因为XUI没有做升级,如果使用4.11.0的话可能会有版本冲突,导致有些组件找不到。implementation 'com.google.android.material:material:4.8.0'
【注意】如果你的项目目前还未使用androidx,请使用如下配置:
dependencies {...//support项目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'}
在这之后我们就完成对项目的导入依赖操作了,依赖导完之后一定要点击右上角的sync now按钮应该是重新加载依赖吧
第五步
在Application中初始化XUI设置
首先我们要在下图绿色框的包中,新建一个Java Class名字就叫做Myapplication
第六步
使用extends关键字 继承Application
然后重写onCreate方法
将 XUI.init(this);XUI.debug(true);写入方法中
第七步
我们需要在AndroidMainfest.xml中写入name属性配置 .Myapplication 前面是有点的,这样项目启动的时
侯就会找到我么你创建的Myapplication文件。
第八步
配置XUI的主题,因为XUI的组件都是在XUI的主题上应用的,如果你不配置XUI的主题的话,可能组件也会没有效果。
马上完成了,希望大家耐心一点,让我们继续看下去。
接下来我们配置XUI的主题
基础主题类型:
大平板(10英寸, 240dpi, 1920*1200):XUITheme.Tablet.Big小平板(7英寸, 320dpi, 1920*1200):XUITheme.Tablet.Small手机(4.5英寸, 320dpi, 720*1280):XUITheme.Phone
因为我们使用的手机,所以选择 XUITheme.Phone就好了
下图是我已经修改过的默认主题样式,大家根据我的方法替换掉之前的主题就好,之前的style中也有很多颜色,我
直接删了,留着也可以,但是没有必要。这个默认的样式在themes.xml文件当中,我呢在两个不同的文件夹下有两个
相同的themes.xml文件,所以我都改了。如果你就只有一个那就只改一个就行。
到这里我们的XUI依赖引入就到此为止了。
接下来也给大家分享一下使用XUI写出来的一个顶部tabbar的切换的代码。
首先我们在自己的包下创建三个blankfragment页面,接下来我就不多说废话了直接上代码
在MainActivity.java中写入代码
package com.example.xuitest;import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;import com.xuexiang.xui.XUI;
import com.xuexiang.xui.widget.tabbar.EasyIndicator;import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity{private List<Fragment> list;private String[] tab={"待收货","代发货","待评价"};private FragmentManager manager;private MyFragmentPageAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);XUI.initTheme(this);setContentView(R.layout.activity_main);list = new ArrayList<Fragment>();BlankFragment f1 = new BlankFragment();BlankFragment2 f2 = new BlankFragment2();BlankFragment3 f3=new BlankFragment3();list.add(f1);list.add(f3);list.add(f2);manager = getSupportFragmentManager();adapter = new MyFragmentPageAdapter(manager);EasyIndicator easyIndicator=findViewById(R.id.easy_indicator);easyIndicator.setTabTitles(tab);ViewPager viewPager=findViewById(R.id.view_pager1);easyIndicator.setViewPager(viewPager, adapter);}class MyFragmentPageAdapter extends FragmentPagerAdapter {public MyFragmentPageAdapter(FragmentManager fm) {super(fm);}@Overridepublic Fragment getItem(int arg0) {return list.get(arg0);}@Overridepublic CharSequence getPageTitle(int position) {return tab[position];}@Overridepublic int getCount() {return list.size();}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {super.destroyItem(container, position, object);}}
}
在src➡res➡layout➡activity_main.xml中写入
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:orientation="vertical"><com.xuexiang.xui.widget.tabbar.EasyIndicatorandroid:id="@+id/easy_indicator"android:layout_width="match_parent"android:layout_height="wrap_content"app:indicator_bottom_line_color="#000000"app:indicator_height="60dp"app:indicator_line_color="#03DAC5"app:indicator_line_show="true"app:indicator_normal_color="#9C9C9C"app:indicator_select_textSize="16sp"app:indicator_selected_color="#03DAC5"app:indicator_textSize="14sp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><androidx.viewpager.widget.ViewPagerandroid:id="@+id/view_pager1"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginTop="60dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/easy_indicator" ></androidx.viewpager.widget.ViewPager></LinearLayout>
运行之后完成!!!
在最后也祝愿大家在写Android的路上一去不复返,在此博主也作诗一首,希望大家不要嫌弃。
Android原生安卓是挺香,代码长篇不漂亮。XUI虽说是框架,两者结合还是王。
在新的一年里祝大家工作顺利。
如果博主在文章中有写的不对的地方,请各位一定要指出来,我也好更快的进步。
see you!!!
Android studio引入XUI相关推荐
- android 引入 .so,android studio引入so库方法(示例代码)
在Android Studio中引入so库,只需在app/jniLibs下放入so文件,然后在Module的build.gradle中加入: sourceSets { main { jniLibs.s ...
- android studio引入lib,Android studio项目引入另外一个项目做为Lib
Android studio项目引入另外一个项目做为Libary 方法一:使用Android studio 导入lib项目: 注意: lib项目更改处:html 在build.gradle 文件下 将 ...
- android studio 引入httpclient,HttpClient不会导入Android Studio
我有一个用Android Studio编写的简单类: package com.mysite.myapp; import org.apache.http.client.HttpClient; publi ...
- Android Studio 引入aar文件
1 首先在app下面的lib里面导入aar文件 2 在app下面的build.gradle 里面的android 中填写如下 repositories {flatDir {dir 'libs'}} 3 ...
- android studio 引入arr的问题
为什么80%的码农都做不了架构师?>>> 1.合并AndroidManifest错误 D:\AndroidStudioProjects\androidrongflysip\ro ...
- Android Studio引入.so文件的正确姿势 以及调用.so 文件时报错has text relocations 解决
首先在src同级目录下创建libs目录讲需要的.so复制到这里效果如图 然后在app级别的build.gradle配置lib路径,效果如果 完整代码如下: apply plugin: 'com.and ...
- android studio 引入vitamio,Android studio3.0导入vitamio结果报错,求大神看看问题怎么解决...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Error:Could not determine the dependencies of task ':app:compileReleaseJavaWi ...
- android在哪引jar包,Android Studio引入jar包和so库
前言 由于项目要对接华为Anyoffice平台,所以需要引入对应SDKjar包和so库.其实网上有很多资料可以查到:AS下如何导入jar包和so库.但是正因为资料很多,所以说法不一,有些配置已经不再适 ...
- android studio 引入vitamio,Android Studio对 vitamio 的导入及demo运行
vitamio 的 导入和demo运行很简单,这里整理一下: 1.vitamio 导入 ** a.首先从 github 下载 vitamio 的压缩包,如下: 解压之后如下: 接着,我们使用 as 建 ...
- Android Studio 引入AAR的方式
Gradle 7.0+ 设置aar路径 方式一 移除 repositories { flatDir { dirs 'libs' } } 移除 implementation fileTree(dir: ...
最新文章
- linux 变量替换字符串,变量替换 字符串处理
- 排序 np_干货 | XGBoost在携程搜索排序中的应用
- JQuery 分割函数(split)的用法和定义
- OpenCV3学习(11.5) FAST特征检测器FastFeatureDetector
- python3程序运行中会跳过注释行,Python: 读取文件时如何忽略#条注释行
- mysql的一些心得
- python程序员年薪20万_据说做好这几道考题的python程序员年薪超20万
- 变分模态分解(VMD)
- 【MLPs+ESN】利用多层感知机MLPs对经典ESN(回声状态网络)的输出权值计算进行优化的MATLAB仿真
- 永久性删除的文件怎么恢复,怎么还原文件
- ps怎么创建双曲线图层如何添加
- java多态app_Java 入门教程 - Java 多态 - IT学院 - 中国软件协会智能应用服务分会...
- ggplot2画histogram(坐标轴刻度值字体大小,坐标轴标题字体大小,柱形宽度,大标题字体大小、居中)...
- 什么是悲观锁和乐观锁,及分布式锁的实现方式
- 同步与异步区别之我见(一)
- 【计算机网络】网线规格的鉴别与接线方法
- geartrax2020中文繁体转简体
- 【博学谷学习记录】超强总结,用心分享|人工智能第一课Python的认识与环境搭建。
- ENVI去除影像的地理坐标信息
- Cisco N7K VDC 配置步骤 (精简版)
热门文章
- html仿百度贴吧,利用Canvas模仿百度贴吧客户端loading小球的方法示例
- FPS游戏的方框透视+自瞄原理
- 【观察】UCloud:决胜东南亚“正当时”,做出海企业“加速器”
- 模拟CMOS集成电路设计 学习笔记(三)
- XX智能停车场系统项目技术方案
- 群联固态硬盘修复工具_固态硬盘有三大要素,那么你的固态硬盘买对了吗?
- 自然语言处理(NLP):08-05 TextCNN短文本分类案例分享
- OpenEmu for mac(苹果系统原生游戏模拟软件)中文版
- C# 按块选择 autoCAD二次开发
- UI设计工作流程步骤详解,让你快速了解UI设计!