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相关推荐

  1. android 引入 .so,android studio引入so库方法(示例代码)

    在Android Studio中引入so库,只需在app/jniLibs下放入so文件,然后在Module的build.gradle中加入: sourceSets { main { jniLibs.s ...

  2. android studio引入lib,Android studio项目引入另外一个项目做为Lib

    Android studio项目引入另外一个项目做为Libary 方法一:使用Android studio 导入lib项目: 注意: lib项目更改处:html 在build.gradle 文件下 将 ...

  3. android studio 引入httpclient,HttpClient不会导入Android Studio

    我有一个用Android Studio编写的简单类: package com.mysite.myapp; import org.apache.http.client.HttpClient; publi ...

  4. Android Studio 引入aar文件

    1 首先在app下面的lib里面导入aar文件 2 在app下面的build.gradle 里面的android 中填写如下 repositories {flatDir {dir 'libs'}} 3 ...

  5. android studio 引入arr的问题

    为什么80%的码农都做不了架构师?>>>    1.合并AndroidManifest错误 D:\AndroidStudioProjects\androidrongflysip\ro ...

  6. Android Studio引入.so文件的正确姿势 以及调用.so 文件时报错has text relocations 解决

    首先在src同级目录下创建libs目录讲需要的.so复制到这里效果如图 然后在app级别的build.gradle配置lib路径,效果如果 完整代码如下: apply plugin: 'com.and ...

  7. android studio 引入vitamio,Android studio3.0导入vitamio结果报错,求大神看看问题怎么解决...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Error:Could not determine the dependencies of task ':app:compileReleaseJavaWi ...

  8. android在哪引jar包,Android Studio引入jar包和so库

    前言 由于项目要对接华为Anyoffice平台,所以需要引入对应SDKjar包和so库.其实网上有很多资料可以查到:AS下如何导入jar包和so库.但是正因为资料很多,所以说法不一,有些配置已经不再适 ...

  9. android studio 引入vitamio,Android Studio对 vitamio 的导入及demo运行

    vitamio 的 导入和demo运行很简单,这里整理一下: 1.vitamio 导入 ** a.首先从 github 下载 vitamio 的压缩包,如下: 解压之后如下: 接着,我们使用 as 建 ...

  10. Android Studio 引入AAR的方式

    Gradle 7.0+ 设置aar路径 方式一 移除 repositories { flatDir { dirs 'libs' } } 移除 implementation fileTree(dir: ...

最新文章

  1. linux 变量替换字符串,变量替换 字符串处理
  2. 排序 np_干货 | XGBoost在携程搜索排序中的应用
  3. JQuery 分割函数(split)的用法和定义
  4. OpenCV3学习(11.5) FAST特征检测器FastFeatureDetector
  5. python3程序运行中会跳过注释行,Python: 读取文件时如何忽略#条注释行
  6. mysql的一些心得
  7. python程序员年薪20万_据说做好这几道考题的python程序员年薪超20万
  8. 变分模态分解(VMD)
  9. 【MLPs+ESN】利用多层感知机MLPs对经典ESN(回声状态网络)的输出权值计算进行优化的MATLAB仿真
  10. 永久性删除的文件怎么恢复,怎么还原文件
  11. ps怎么创建双曲线图层如何添加
  12. java多态app_Java 入门教程 - Java 多态 - IT学院 - 中国软件协会智能应用服务分会...
  13. ggplot2画histogram(坐标轴刻度值字体大小,坐标轴标题字体大小,柱形宽度,大标题字体大小、居中)...
  14. 什么是悲观锁和乐观锁,及分布式锁的实现方式
  15. 同步与异步区别之我见(一)
  16. 【计算机网络】网线规格的鉴别与接线方法
  17. geartrax2020中文繁体转简体
  18. 【博学谷学习记录】超强总结,用心分享|人工智能第一课Python的认识与环境搭建。
  19. ENVI去除影像的地理坐标信息
  20. Cisco N7K VDC 配置步骤 (精简版)

热门文章

  1. html仿百度贴吧,利用Canvas模仿百度贴吧客户端loading小球的方法示例
  2. FPS游戏的方框透视+自瞄原理
  3. 【观察】UCloud:决胜东南亚“正当时”,做出海企业“加速器”
  4. 模拟CMOS集成电路设计 学习笔记(三)
  5. XX智能停车场系统项目技术方案
  6. 群联固态硬盘修复工具_固态硬盘有三大要素,那么你的固态硬盘买对了吗?
  7. 自然语言处理(NLP):08-05 TextCNN短文本分类案例分享
  8. OpenEmu for mac(苹果系统原生游戏模拟软件)中文版
  9. C# 按块选择 autoCAD二次开发
  10. UI设计工作流程步骤详解,让你快速了解UI设计!