适配版本:Android 4.0及以上
工程配置: 将Heweather_Plugin.jar导入到工程中,并且引用
配置Android Manifest权限
- 别忘了权限配置
<uses-permission android:name="android.permission.INTERNET"/> 必选
允许网络连接
<uses-permission android:name="android.permission.REANPHONESTATE"/> 必选
访问设备状态
<uses-permission android:name="android.permission.ACCESSCOARSELOCATION"/> 必选 可选
访问网络定位,如果使用系统定位,该权限为必选
<uses-permission android:name="android.permission.ACCESSFINELOCATION"/> 必选 可选
访问GPS定位,如果使用系统定位,该权限为必选
<uses-permission android:name="android.permission.SYSTEMALERTWINDOW"/> 必选 可选
悬浮窗权限,如果使用悬浮窗功能,该权限为必选
<uses-permission android:name="android.permission.ACCESSWIFISTATE"/> 可选
访问WiFi状态
- 引用库
implementation 'com.squareup.okhttp3:okhttp:3.9.0'(3.9.0+)
implementation 'com.google.code.gson:gson:2.6.2'(2.6.2+)
可以通过地理位置获取天气情况 ,地理位置参考上文 - 链接: 获取位置.
- 初始化
//amapLocation. province:省级 city:市级 district:区级 address:详细地址
QWeatherConfig.init("自己生成的key", amapLocation.district) //key密钥 区级位置
//获取天气布局
initWeater()
- 获取天气布局
kotlin
@SuppressLint("ClickableViewAccessibility")
private fun initWeater() {
//获取左侧大布局
val leftLayout = ll_view.leftLayout
//获取右上布局
val rightTopLayout = ll_view.rightTopLayout
//获取右下布局
val rightBottomLayout = ll_view.rightBottomLayout
//设置布局的背景圆角角度(单位:dp),颜色,边框宽度(单位:px),边框颜色
ll_view.setStroke(5, 0, 0, 0)
ll_view.setDefaultBack(false)
//添加温度描述到左侧大布局
//第一个参数为需要加入的布局
//第二个参数为文字大小,单位:sp
//第三个参数为文字颜色,默认白色现在温度 左上右下内边距:20,0,0,0
ll_view.addTemp(rightTopLayout, 30, Color.WHITE, 10, 0, 0, 0)
//添加温度图标到左布局,第二个参数为图标宽高(宽高1:1,单位:dp)天气图标
ll_view.addWeatherIcon(leftLayout, 50)
//添加地址信息到右下布局
ll_view.addLocation(rightBottomLayout, 15, Color.WHITE, 10, 0, 0, 0)
//添加天气描述到右下布局 小雨
ll_view.addCond(rightBottomLayout, 15, Color.WHITE, 10, 0, 0, 0)
//设置控件的对齐方式,默认居中
ll_view.setViewGravity(HeContent.GRAVITY_LEFT)
//显示布局
ll_view.show()
}
java
private void weater() {
QWeatherConfig.init("自己生成的key","杭州市");
LeftLargeView llView = findViewById(R.id.ll_view);
//获取左侧大布局
LinearLayout leftLayout = llView.getLeftLayout();
//获取右上布局
LinearLayout rightTopLayout = llView.getRightTopLayout();
//获取右下布局
LinearLayout rightBottomLayout = llView.getRightBottomLayout();
//设置布局的背景圆角角度(单位:dp),颜色,边框宽度(单位:px),边框颜色
llView.setStroke(5, 0, 0, 0);
llView.setDefaultBack(false);//取消背景图
//添加温度描述到左侧大布局
//第一个参数为需要加入的布局
//第二个参数为文字大小,单位:sp
//第三个参数为文字颜色,默认白色现在温度 左上右下内边距:20,0,0,0
llView.addTemp(rightTopLayout, 30, Color.WHITE, 10, 0, 0, 0);
//添加温度图标到左面布局,第二个参数为图标宽高(宽高1:1,单位:dp)
llView.addWeatherIcon(leftLayout, 50);
//添加地址信息到右下布局
llView.addLocation(rightBottomLayout, 15, Color.WHITE, 10, 0, 0, 0);
//添加天气描述到右下布局 小雨
llView.addCond(rightBottomLayout, 15, Color.WHITE, 10, 0, 0, 0);
//设置控件的对齐方式,默认居中
llView.setViewGravity(HeContent.GRAVITY_LEFT);
//显示布局
llView.show();
}