意见反馈增加图片
This commit is contained in:
parent
b11c5de681
commit
510cd11049
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
|
||||
<application>
|
||||
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector" >
|
||||
<activity android:name="com.unityplugins.imageselector.TestMainActivity" android:theme="@style/UnityThemeSelector" android:screenOrientation="landscape" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density" android:hardwareAccelerated="false">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
@ -13,9 +13,26 @@
|
||||
<data android:scheme="powerfunx" android:host="app" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name="com.unityplugins.imageselector.SelectActivity">
|
||||
</activity>
|
||||
<!-- 模拟主项目中定义的其他FileProvider -->
|
||||
<provider
|
||||
android:name="android.support.v4.content.FileProvider"
|
||||
android:authorities="${applicationId}.any_provider"
|
||||
android:grantUriPermissions="true"
|
||||
android:exported="false">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/provider_paths" />
|
||||
</provider>
|
||||
</application>
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
|
||||
<uses-permission android:name="android.permission.BLUETOOTH"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-feature android:name="android.hardware.bluetooth_le" android:required="false"/>
|
||||
</manifest>
|
||||
BIN
Assets/Plugins/Android/ImageSelector.jar
Normal file
BIN
Assets/Plugins/Android/ImageSelector.jar
Normal file
Binary file not shown.
32
Assets/Plugins/Android/ImageSelector.jar.meta
Normal file
32
Assets/Plugins/Android/ImageSelector.jar.meta
Normal file
@ -0,0 +1,32 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6ea86a8936b718949b5501d873739db1
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
45
Assets/Plugins/Android/mainTemplate.gradle
Normal file
45
Assets/Plugins/Android/mainTemplate.gradle
Normal file
@ -0,0 +1,45 @@
|
||||
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
**APPLY_PLUGINS**
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation 'com.yuyh.imgsel:library:2.1.0'
|
||||
implementation 'com.github.bumptech.glide:glide:3.7.0'
|
||||
implementation 'com.facebook.fresco:fresco:0.6.0'
|
||||
implementation(name: 'com.mapbox.android.unity-debug', ext:'aar')
|
||||
implementation(name: 'libcore-release', ext:'aar')
|
||||
implementation(name: 'libtelemetry-full-release', ext:'aar')
|
||||
implementation(name: 'UnityCallWechatShare-release', ext:'aar')
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion **APIVERSION**
|
||||
buildToolsVersion '**BUILDTOOLS**'
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion **MINSDKVERSION**
|
||||
targetSdkVersion **TARGETSDKVERSION**
|
||||
ndk {
|
||||
abiFilters **ABIFILTERS**
|
||||
}
|
||||
versionCode **VERSIONCODE**
|
||||
versionName '**VERSIONNAME**'
|
||||
consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
aaptOptions {
|
||||
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
|
||||
}**PACKAGING_OPTIONS**
|
||||
}**REPOSITORIES****SOURCE_BUILD_SETUP**
|
||||
**EXTERNAL_SOURCES**
|
||||
7
Assets/Plugins/Android/mainTemplate.gradle.meta
Normal file
7
Assets/Plugins/Android/mainTemplate.gradle.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 27f3715cd06fd6c4f883fc6cf73e0632
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -76,7 +76,7 @@ public static class App
|
||||
public static float? topRectStartX { get; internal set; }
|
||||
|
||||
public static WeChatController weChatController = WeChatController.Instance;
|
||||
|
||||
public static ImageSelectorController imageSelectorController = ImageSelectorController.Instance;
|
||||
public static Vector2 MobileResolution = new Vector2(844f, 390f);//移动端分辨率
|
||||
public static Vector2 PcResolution = new Vector2(1600f, 900f);//PC端分辨率
|
||||
public static int autoClearTimes = 30;
|
||||
|
||||
@ -1,22 +1,11 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// Create By Jooki: https://www.yuque.com/jooki
|
||||
/// 使用流程:
|
||||
/// WeChatController是一个单例, 请自行给变量 _className 赋值
|
||||
/// 使用前先调用 Init() 进行初始化,然后调用 IsWeChatAppInstalled() 检查用户设备上是否安装了微信;
|
||||
/// 之后为保险起见调用 IsWeChatAppInstalled() 判断微信是否已经安装;
|
||||
/// 最后就是按照需要分享的消息类型调用对应的方法
|
||||
///
|
||||
/// </summary>
|
||||
public class ImageSelectorController
|
||||
{
|
||||
/// <summary>
|
||||
/// com.unityplugins.wechatshare是在Android Studio中创建的 Module,
|
||||
/// MainActivity 是一个Activity, 对外供C#调用的方法都写在这个Activity内
|
||||
/// </summary>
|
||||
private readonly string _className = "com.unityplugins.imageSelector.MainActivity";
|
||||
private AndroidJavaClass mainActivityClass = null;
|
||||
private AndroidJavaObject mainActivityObject = null;
|
||||
|
||||
private static ImageSelectorController _instance;
|
||||
public static ImageSelectorController Instance
|
||||
@ -33,15 +22,14 @@ public class ImageSelectorController
|
||||
private ImageSelectorController()
|
||||
{
|
||||
#if UNITY_ANDROID
|
||||
mainActivityClass = new AndroidJavaClass(_className);
|
||||
// 第一个参数: MainActivity中的方法名
|
||||
// 第二、三个参数: 分别是SendMessageToUnity需要接收的第一和第二个参数,对比上面Java的代码
|
||||
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
|
||||
mainActivityObject = jc.GetStatic<AndroidJavaObject>("currentActivity");
|
||||
#elif UNITY_IOS
|
||||
//RegisterApp(_APP_ID);
|
||||
#endif
|
||||
}
|
||||
public void Select()
|
||||
{
|
||||
mainActivityClass.CallStatic("Select");
|
||||
mainActivityObject.Call("Select");
|
||||
}
|
||||
}
|
||||
@ -75,26 +75,32 @@ public class FeedbackController : PFUIPanel
|
||||
main.Find("Time").Find("Value").Find("Text").GetComponent<Text>().text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
}
|
||||
|
||||
GameObject selectObject = null;
|
||||
void AddImage(BaseEventData e,int index)
|
||||
{
|
||||
#if UNITY_ANDROID || UNITY_IOS
|
||||
//App.ImageSelectorController.Select();
|
||||
#else
|
||||
selectObject = ((PointerEventData)e).pointerEnter;
|
||||
App.imageSelectorController.Select();
|
||||
#else
|
||||
var self = ((PointerEventData)e).pointerEnter;
|
||||
Utils.OpenFile((path) =>
|
||||
{
|
||||
if (paths.ContainsValue(path))
|
||||
{
|
||||
Utils.showToast(gameObject, "Picture already exists, please choose another picture");//图片已存在,请选择其他图片
|
||||
return;
|
||||
}
|
||||
self.GetComponent<Image>().sprite = Utils.PngToSprite(path, 110, 110);
|
||||
self.transform.Find("close").gameObject.SetActive(true);
|
||||
paths[self.name] = path;
|
||||
HandlePath(self, path);
|
||||
});
|
||||
#endif
|
||||
|
||||
}
|
||||
void HandlePath(GameObject self,string path)
|
||||
{
|
||||
if (paths.ContainsValue(path))
|
||||
{
|
||||
Utils.showToast(gameObject, "Picture already exists, please choose another picture");//图片已存在,请选择其他图片
|
||||
return;
|
||||
}
|
||||
self.GetComponent<Image>().sprite = Utils.PngToSprite(path, 110, 110);
|
||||
self.transform.Find("close").gameObject.SetActive(true);
|
||||
paths[self.name] = path;
|
||||
}
|
||||
void DelImage(BaseEventData e,Transform self,int index)
|
||||
{
|
||||
self.GetComponent<Image>().sprite = plus;
|
||||
@ -134,6 +140,11 @@ public class FeedbackController : PFUIPanel
|
||||
public void OnMobileImageSelect(string res)
|
||||
{
|
||||
Debug.Log(res);
|
||||
Utils.showToast(gameObject, res, type: 1);
|
||||
if (res.IndexOf("true,") == 0 && selectObject!=null)
|
||||
{
|
||||
var path = res.Replace("true,", "");
|
||||
HandlePath(selectObject, path);
|
||||
}
|
||||
//Utils.showToast(gameObject, res, type: 1);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user