Android studio引入XUI

本文详细介绍了如何在Android Studio中引入并使用XUI框架,包括添加依赖、初始化设置、配置主题以及创建TabBar切换效果。通过实例代码展示了XUI在项目中的应用,帮助开发者更好地理解和使用XUI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
    @Override
    protected 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);
        }

        @Override
        public Fragment getItem(int arg0) {
            return list.get(arg0);
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return tab[position];
        }

        @Override
        public int getCount() {
            return list.size();
        }

        @Override
        public 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.EasyIndicator
        android: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.ViewPager
        android: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!!!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值