100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android 系统天气插件 天气插件平台-天气预报插件-天气预报代码—中国天气网...

android 系统天气插件 天气插件平台-天气预报插件-天气预报代码—中国天气网...

时间:2022-08-28 13:46:14

相关推荐

android 系统天气插件 天气插件平台-天气预报插件-天气预报代码—中国天气网...

适配版本

Android 4.0及以上

1.工程配置

将Plugin_SDK_Android_v2.0.jar导入到工程中,并且引用

配置Android Manifest权限

权限列表

权限说明

代码

是否必选

允许网络连接

android.permission.INTERNET

必选

访问设备状态

android.permission.REAN_PHONE_STATE

可选

访问WiFi状态

android.permission.ACCESS_WIFI_STATE

可选

访问网络定位

android.permission.ACCESS_COARSE_LOCATION

可选(如果用到不传递城市参数的方法,此权限为必选,否则无法使用对应的方法 )

访问GPS定位

android.permission.ACCESS_FINE_LOCATION

可选(如果用到不传递城市参数的方法,此权限为必选,否则无法使用对应的方法 )

悬浮窗权限

android.permission.SYSTEM_ALERT_WINDOW

可选(如果用到悬浮的控件,此权限必选,否则无法显示悬浮窗)

引用库

> * implementation 'com.squareup.okhttp3:okhttp:3.9.0'(3.9.0+)

> * implementation 'com.google.code.gson:gson:2.6.2'(2.6.2+)

混淆

请在您的混淆文件中加入如下代码,请注意您引用的版本

####排除OKHTTP

-dontwarn com.squareup.**

-dontwarn okio.**

-keep public class org.codehaus.* { *; }

-keep public class java.nio.* { *; }

排除sdk

-keep public class .weather.cj.widget.bean.** { *; }

-keep public class .weather.cj.widget.view.** { *; }

2.调用说明

####(1)在application初始化的方法里或者activity的onCreate方法里初始化用户的key和location,例:

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

/**

* 初始化

*

* @param key 用户的ID

* @param location 地址详解,若不传或为空则调用Android源生定位

*/

WeatherConfig.init("key","location");

}

####(2)布局文件里使用非悬浮sdk控件

android:id="@+id/horizon_view"

android:layout_width="match_parent"

android:layout_height="60dp"/>

android:id="@+id/ll_view"

android:layout_width="match_parent"

android:layout_height="60dp"/>

android:id="@+id/rl_view"

android:layout_width="match_parent"

android:layout_height="60dp"/>

android:id="@+id/vertical_view"

android:layout_width="80dp"

android:layout_height="wrap_content" />

(3)显示控件

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

WeatherConfig.init("key","location");

//横向布局

horizonView = findViewById(R.id.horizon_view);

//左侧大布局

llView = findViewById(R.id.ll_view);

//右侧大布局

rlView = findViewById(R.id.rl_view);

//竖向布局

verticalView = findViewById(R.id.vertical_view);

//设置取消默认背景

horizonView.setDefaultBack(false);

//设置文字颜色

horizonView.setViewTextColor(Color.BLACK);

//设置布局的背景圆角角度,颜色,边框宽度,边框颜色

llView.setStroke(5, Color.parseColor("#313a44"), 1, Color.BLACK);

//设置控件内边距

horizonView.setViewPadding(paddingL, paddingT, paddingR, paddingB);

rlView.setViewPadding(paddingL, paddingT, paddingR, paddingB);

llView.setViewPadding(paddingL, paddingT, paddingR, paddingB);

verticalView.setViewPadding(paddingL, paddingT, paddingR, paddingB);

//设置布局相对位置,默认居中 可选:Gravity.LEFT | Gravity.CENTER_VERTICAL | Gravity.RIGHT | Gravity.CENTER;

horizonView.setViewGravity(gravity);

//添加地址文字到布局

horizonView.addLocation(textSize, textColor);

//添加天气文字到布局

horizonView.addCond(textSize, textColor);

//添加天气图标到布局

horizonView.addWeatherIcon(size);

//添加温度文字到布局

horizonView.addTemp(textSize, textColor);

//添加风力文字到布局

horizonView.addWind(textSize, textColor);

//添加风向图标到布局

horizonView.addWindIcon(size);

//添加AQI文字到布局

horizonView.addAqiText(textSize, textColor);

//添加空气质量文字到布局

horizonView.addAqiQlty(textSize);

//添加空气质量数字到布局

horizonView.addAqiNum(textSize);

//添加预警图标到布局

horizonView.addAlarmIcon(size);

//添加预警文字到布局

horizonView.addAlarmTxt(textSize);

/**

* 左侧大布局和右侧大布局添加组件时,第一个参数需要传递想要把组件添加到的父布局,

* 例如把地址文字添加到左上布局: rlView.addLocation(leftTopLayout, textSize, textColor);

*/

//获取左侧大布局

LinearLayout leftLayout = llView.getLeftLayout();

//获取右上布局

LinearLayout rightTopLayout = llView.getRightTopLayout();

//获取右下布局

LinearLayout rightBottomLayout = llView.getRightBottomLayout();

//第一个参数为需要加入的布局

//第二个参数为文字大小,单位:sp

//第三个参数为文字颜色,默认白色

//添加温度描述到左侧大布局

llView.addTemp(leftLayout,40, Color.WHITE);

//添加温度图标到右上布局,第二个参数为图标宽高(宽高1:1,单位:dp)

llView.addWeatherIcon(rightTopLayout,14);

//添加预警图标到右上布局

llView.addAlarmIcon(rightTopLayout,14);

//添加预警描述到右上布局

llView.addAlarmTxt(rightTopLayout,14);

//添加文字AQI到右上布局

llView.addAqiText(rightTopLayout,14);

//添加空气质量到右上布局

llView.addAqiQlty(rightTopLayout,14);

//添加空气质量数值到右上布局

llView.addAqiNum(rightTopLayout,14);

//添加地址信息到右上布局

llView.addLocation(rightTopLayout,14, Color.WHITE);

//添加天气描述到右下布局

llView.addCond(rightBottomLayout,14, Color.WHITE);

//添加风向图标到右下布局

llView.addWindIcon(rightBottomLayout,14);

//添加风力描述到右下布局

llView.addWind(rightBottomLayout,14, Color.WHITE);

//设置控件的对齐方式,默认居中

llView.setViewGravity(HeContent.GRAVITY_LEFT);

//获取右侧大布局

LinearLayout rightLayout = rlView.getRightLayout();

//获取左上布局

LinearLayout leftTopLayout = rlView.getLeftTopLayout();

//获取左下布局

LinearLayout leftBottomLayout = rlView.getLeftBottomLayout();

//第一个参数为需要加入的布局

//第二个参数为文字大小,单位:sp

//第三个参数为文字颜色,默认白色

rlView.addLocation(leftTopLayout, textSize, textColor);

rlView.addAqiText(leftTopLayout,14);

rlView.addAqiQlty(leftTopLayout,14);

rlView.addAqiNum(leftTopLayout,14);

rlView.addAlarmIcon(leftTopLayout,14);

rlView.addAlarmTxt(leftTopLayout,14);

rlView.addWeatherIcon(leftTopLayout,14);

rlView.addWindIcon(leftBottomLayout,14);

rlView.addWind(leftBottomLayout,14, Color.WHITE);

rlView.addCond(leftBottomLayout,14, Color.WHITE);

rlView.addTemp(rightLayout,40, Color.WHITE);

verticalView.addLocation(14, Color.WHITE);

verticalView.addTemp(14, Color.WHITE);

verticalView.addWeatherIcon(14);

verticalView.addCond(14, Color.WHITE);

verticalView.addWindIcon(14);

verticalView.addWind(14, Color.WHITE);

verticalView.addAqiText(14, Color.WHITE);

verticalView.addAqiQlty(14);

verticalView.addAqiNum(14);

verticalView.addAlarmIcon(14);

verticalView.addAlarmTxt(14);

//显示控件

horizonView.show();

verticalView.show();

rlView.show();

llView.show();

}

####(4)使用悬浮控件

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//location若不传或为空则调用Android源生定位

WeatherConfig.init("key","location");

//初始化悬浮控件

SuspendView suspendView = new SuspendView(this);

//显示悬浮控件

suspendView.show();

}

####(5)如果需要跳转h5界面,需要在AndroidManifest文件添加如下代码

...

...

3.属性方法参照

###3.1 属性介绍

属性

说明

类型

默认

location

地址详解

String

viewGravity

内容显示对齐方式

ViewGravity(String类型)

center

padding

view的内边距

dimension

0dp

paddingLeft

view的左边距

dimension

0dp

paddingTop

view的上边距

dimension

0dp

paddingRight

view的右边距

dimension

0dp

paddingBottom

view的下边距

dimension

0dp

viewTextColor

view中的字体颜色

color

Color.WHITE

地址详解,location参数

权限说明

代码

不传递地址参数

自动采用android源生定位

城市ID:城市列表

location=101010100

根据请求自动判断,根据用户的请求获取IP,通过 IP 定位并获取城市数据

location=auto_ip(固定参数)

####ViewGravity

String

插件内容水平方向显示对齐方式

WeatherContent.GRAVITY_CENTER

内容居中

WeatherContent.GRAVITY_LEFT

内容居左

WeatherContent.GRAVITY_RIGHT

内容居右

###3.2 方法介绍

方法名

参数详解

作用

WeatherConfig.init(“key”);

参数1:key

初始化

WeatherConfig.init(“key”, location);

参数1:key 参数2:location(请参照地址详解)

初始化

setDefaultBack(boolean defaultBack)

参数1:是否展示默认天气图片背景(true:展示,false:透明背景)

设置是否展示默认的图片背景

setStroke(int radius, int backColor, int strokeWidth, int strokeColor)

参数1:圆角大小(单位:dp) 参数2:背景颜色 参数3:边框宽度(单位:px) 参数4:边框颜色

设置控件的边框

setViewGravity(String viewGravity)

参数1:控件对齐方式(默认居中)

设置控件对齐方式

setViewPadding(int paddingLeft, int paddingTop, int paddingRight, int paddingBottom)

参数1-4:控件左上右下内边距

设置控件内边距

addLocation(int textSize, int textColor)

参数1:文字大小(单位:sp) 参数2:文字颜色

添加地址描述文字

addLocation(int textSize, int textColor, int l, int t, int r, int b)

参数1:文字大小(单位:sp) 参数2:文字颜色 参数3-6:控件的左上右下内边距

addLocation(LinearLayout layout, int textSize, int textColor)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜色

addLocation(LinearLayout layout, int textSize, int textColor, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜色 参数4-7:控件的左上右下内边距

addTemp(int textSize, int textColor)

参数1:文字大小(单位:sp) 参数2:文字颜色

添加温度描述

addTemp(int textSize, int textColor, int l, int t, int r, int b)

参数1:文字大小(单位:sp) 参数2:文字颜色 参数3-6:控件的左上右下内边距

addTemp(LinearLayout layout, int textSize, int textColor)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜色

addTemp(LinearLayout layout, int textSize, int textColor, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜色 参数4-7:控件的左上右下内边距

addAqiText(int textSize, int textColor)

参数1:文字大小(单位:sp) 参数2:文字颜色

添加文字:AQI

addAqiText(int textSize, int textColor, int l, int t, int r, int b)

参数1:文字大小(单位:sp) 参数2:文字颜色 参数3-6:控件的左上右下内边距

addAqiText(LinearLayout layout, int textSize)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜色

addAqiText(LinearLayout layout, int textSize, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜色 参数4-7:控件的左上右下内边距

addWind(int textSize, int textColor)

参数1:文字大小(单位:sp) 参数2:文字颜色

添加风力描述

addWind(int textSize, int textColor, int l, int t, int r, int b)

参数1:文字大小(单位:sp) 参数2:文字颜色 参数3-6:控件的左上右下内边距

addWind(LinearLayout layout, int textSize, int textColor)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜色

addWind(LinearLayout layout, int textSize, int textColor, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜 参数4-7:控件的左上右下内边距

addCond(int textSize, int textColor)

参数1:文字大小(单位:sp) 参数2:文字颜色

添加天气描述

addCond(int size, int textColor, int l, int t, int r, int b)

参数1:文字大小(单位:sp) 参数2:文字颜色 参数3-6:控件的左上右下内边距

addCond(LinearLayout layout, int textSize, int textColor)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜色

addCond(LinearLayout layout, int size, int textColor, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3:文字颜色 参数4-7:控件的左上右下内边距

addAlarmTxt(int textSize)

参数1:文字大小(单位:sp)

添加预警文字描述

addAlarmTxt(int textSize, int l, int t, int r, int b)

参数1:文字大小(单位:sp) 参数2-5:控件的左上右下内边距

addAlarmTxt(LinearLayout layout, int textSize)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp)

addAlarmTxt(LinearLayout layout, int textSize, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3-6:控件的左上右下内边距

addAqiQlty(int textSize)

参数1:文字大小(单位:sp)

添加空气质量文字描述

addAqiQlty(int textSize, int l, int t, int r, int b)

参数1:文字大小(单位:sp) 参数2-5:控件的左上右下内边距

addAqiQlty(LinearLayout layout, int textSize)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp)

addAqiQlty(LinearLayout layout, int textSize, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3-6:控件的左上右下内边距

addAqiNum(int textSize)

参数1:文字大小(单位:sp)

添加空气质量数值描述

addAqiNum(int textSize, int l, int t, int r, int b)

参数1:文字大小(单位:sp) 参数2-5:控件的左上右下内边距

addAqiNum(LinearLayout layout, int textSize)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp)

addAqiNum(LinearLayout layout, int textSize, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:文字大小(单位:sp) 参数3-6:控件的左上右下内边距

addWeatherIcon(int mWidth)

参数1:图标宽高(单位:dp)

添加天气图标

addWeatherIcon(int mWidth, int l, int t, int r, int b)

参数1:图标宽高(单位:dp) 参数2-5:控件的左上右下内边距

addWeatherIcon(LinearLayout layout, int mWidth)

参数1:加入此控件的父布局 参数2:图标宽高(单位:dp)

addWeatherIcon(LinearLayout layout, int mWidth, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:图标宽高(单位:dp) 参数3-6:控件的左上右下内边距

addWindIcon(int mWidth)

参数1:图标宽高(单位:dp)

添加风向图标

addWindIcon(int mWidth, int l, int t, int r, int b)

参数1:图标宽高(单位:dp) 参数2-5:控件的左上右下内边距

addWindIcon(LinearLayout layout, int mWidth)

参数1:加入此控件的父布局 参数2:图标宽高(单位:dp)

addWindIcon(LinearLayout layout, int mWidth, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:图标宽高(单位:dp) 参数3-6:控件的左上右下内边距

addAlarmIcon(int mWidth)

参数1:图标宽高(单位:dp)

添加预警图标

addAlarmIcon(int mWidth, int l, int t, int r, int b)

参数1:图标宽高(单位:dp) 参数2-5:控件的左上右下内边距

addAlarmIcon(LinearLayout layout, int mWidth)

参数1:加入此控件的父布局 参数2:图标宽高(单位:dp)

addAlarmIcon(LinearLayout layout, int mWidth, int l, int t, int r, int b)

参数1:加入此控件的父布局 参数2:图标宽高(单位:dp) 参数3-6:控件的左上右下内边距

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。