我正在尝试创建一个可以缩放和拖动的SurfaceView.它实现了一个直接绘制到画布的HTTP图像流
我已经尝试了以下代码,它有点工作......但它给我带来了边界问题.不知道原因.有帮助吗?
全流:
缩放图像:
在第二个图像中,您可以看到多个不需要在那里的绿线.
这是处理此流的类:
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.Display;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.SurfaceView;
import android.view.WindowManager;
/**
* Created by fil on 07/12/15.
*/
public class ZoomSurfaceView extends SurfaceView {
//These two constants specify the minimum and maximum zoom
private static float MIN_ZOOM = 1f;
private static float MAX_ZOOM = 5f;
private float scaleFactor = 1.f;
private ScaleGestureDetector detector;
//These …Run Code Online (Sandbox Code Playgroud) 随着华硕ZenPad10发生,有时我运行一个应用程序,而旧的应用程序开始.所以我认为已经修复了一些东西,但实际上我正在测试仍然存在错误的版本,耗费了大量时间.
对于其他平板电脑,这不会发生.除此之外,我需要禁用ADB以在平板电脑中启动应用程序.使用Nexus 10,我无需执行任何操作.
在/ data/app目录中,还有所有目录(如"myapp /")而不是像Nexus 10中的apks(如"myapp.apk").
有没有想过要避免刷新问题?
我想知道"通过USB验证应用程序"是否可能是原因,但我无法在华硕上禁用它.
我认为没有必要,但这是我的主要gradle文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.+'
}
}
allprojects {
repositories {
mavenCentral()
jcenter()
maven {
url 'https://github.com/suckgamony/RapidDecoder/raw/master/repository'
}
}
}
task wrapper(type: Wrapper) {
gradleVersion = '2.5' //version required
}
Run Code Online (Sandbox Code Playgroud)
这是我的App gradle文件:
apply plugin: 'com.android.application'
dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
compile project(':Structure:StructureExam')
compile …Run Code Online (Sandbox Code Playgroud) 我正在尝试删除Home按钮和Multithread按钮.我们的想法是将其从正在运行的应用程序中完全删除,如果我们可以从我们正在使用的平板电脑上的每个应用程 使用全屏不是我们想要的,因为用户不应该能够退出全屏模式,即使他想要它(它是一个自定义的商业应用程序,由于多种原因,它是所需的行为).
这是Nexus 10的结果.我们通过在编译CyanogenMod之前获取SystemUI源并更改它们来实现.
不幸的是,我们必须在没有CyanogenMod的华硕ZenPad 10中复制它.我们有一个允许我们创建系统应用程序的版本,但是将每个应用程序更改为系统应用程序并不是我们想要的.
我们在此链接中找到:http://developer.oesf.biz/em/developer/reference/eggplant/constant-values.html#android.view.View.STATUS_BAR_DISABLE_HOME
有用于禁用主页按钮和导航按钮的标志,但它们仅可用于系统应用程序.
我们已经尝试在平板电脑中编译SystemUI.apk,对其进行反编译并进行更改.问题是,或者我们有无用的smali文件或只有res /和AndroidManifest.xml文件(华硕将SystemUI.apk改为它自己的两个apks).
所以...我们在这里有点绝望啊.寻找提示/想法尝试删除按钮.更好,无需重新编译或做一些奇怪的事情.
尝试运行新的机器人测试,我收到此错误。有谁知道如何修理它?
我有所有需要的API。(15个和许多高级API)。我想念什么?
这是我的gradle文件的一部分:
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.centervue.exam"
minSdkVersion 19
targetSdkVersion 25
// DO NOT PUT HERE VERSION NAME, THX. Change the Manifest
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
moduleName "exam_filter"
ldLibs "log", "jnigraphics"
}
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
}
[...]
Run Code Online (Sandbox Code Playgroud)
更新:将每个支持库版本从25+或+更改为至少25. +之后,以避免混合库...它可以正常工作。虽然现在我收到此消息:
JavaCompile.setDependencyCacheDir()方法已被弃用,并计划在Gradle 4.0中删除。增量Java编译是一个令人振奋的功能。失败:构建失败,发生异常。*出了什么问题:配置根项目'executorproject'时发生问题。> org.gradle.api.internal.tasks.DefaultTaskInputs $ TaskInputUnionFileCollection无法转换为org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection *尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。失败总数:总时间:1.883秒
任何的想法?我想我们几乎就在那里。
我有一个活动,它有一个专用于工具栏的片段布局。在中心,我们有一个普通的 nav_host 容器。
该活动包含一个正确显示汉堡包的片段。如果我单击一个按钮,它会被第二个片段替换,该片段将旧工具栏替换为新工具栏。单击返回后,新工具栏将替换为旧工具栏。
问题是汉堡图标没有显示,工具栏也没有按预期工作。想法?
这是活动中的代码:
open fun setupToolbar() {
initialToolbar = ToolbarFragment()
setToolbarFragment(initialToolbar){
setNavController()
}
}
fun setToolbarFragment(fragment: Fragment, callback: () -> (Unit) = {}) {
supportFragmentManager
.beginTransaction()
.replace(R.id.toolbarContainer, fragment)
.runOnCommit {
callback.invoke()
}.commit()
}
private fun setNavController() {
val navController = findNavController(R.id.nav_host_fragment)
val appBarConfiguration = setFragmentsWithHamburgerMenu(navController)
toolbar.setupWithNavController(navController, appBarConfiguration)
}
fun setFragmentsWithHamburgerMenu(navController: NavController): AppBarConfiguration {
return AppBarConfiguration(
setOf(
R.id.analyticsFragment,
R.id.routinesFragment,
R.id.currentRunFragment,
R.id.myMapsFragment,
R.id.myRobotsFragment
),
drawer_layout
)
}
Run Code Online (Sandbox Code Playgroud)
这是代码而不是第二个片段:
override fun onResume() {
super.onResume()
val fragment = SearchToolbarFragment(searchHint, this::onQueryTextChange)
baseActivity.setToolbarFragment(fragment) …Run Code Online (Sandbox Code Playgroud) 我的 gradle 文件中有一个共享测试文件夹,配置如下:
androidTest {
java.srcDirs += "src/sharedTest/java"
}
test {
java.srcDirs += "src/sharedTest/java"
}
Run Code Online (Sandbox Code Playgroud)
但是,在启动时我从 Android Studio 收到此错误:
Duplicate content roots detected
Path [/Users/fil/Documents/projects/deploy/app/build/generated/source/r/debug] of module [deploy.app.unitTest] was removed from modules
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题有什么想法吗?我发现我可能会使用测试装置,但我还没有找到可以遵循的实用指南:(
我想同时点击和缩放两个ImageView.换句话说,我想缩放左视图,并在其他ImageView中看到完全相同的效果,没有任何延迟.
是否有图书馆已经做到了?我看了很多没有任何成功:(
谢谢
我目前正在处理非常大的图像(7-10mb),由于多种原因无法调整大小或压缩.
现在,我们的想法是在自定义ImageView中显示它们,使用户可以进行双击缩放,捏缩放等.
我使用这个库来完成这项工作:https://github.com/MikeOrtiz/TouchImageView
我也尝试过其他库,但其他库仍然很慢.有人可以给我一些指示/建议,以使其更快(甚至编写我自己的C++实现)?
我对所有这些"矩阵","flig","规模"的东西有点失落,我不知道我应该触摸什么才能让它更快.如果你也知道其他更快的库(或者如何使用自定义的Android实现,那真的很快),那就太好了.
有没有办法获取系统用于Wifi强度信号的图标(我在任何地方都没有找到它们)。我希望他们为我的应用程序创建自定义Wifi管理器。
如果有可用的布局资源,那将真的很有用(但是不知道我在哪里可以找到它们:()。
谢谢 :)
我正在使用以下方式更新我的系统应用程序:
adb install -r app.apk
Run Code Online (Sandbox Code Playgroud)
这有效。如果我输入:
adb shell
pm install -r app.apk
Run Code Online (Sandbox Code Playgroud)
(省略了推送到设备的 apk)它返回:
失败 [INSTALL_FAILED_INVALID_URI]
知道原因吗?adb命令在系统中到底做了什么?
这是我正在使用的代码:
/**
* Volley adapter for JSON requests that will be parsed into Java objects by Gson.
*/
public class GsonRequest<T> extends Request<T> {
private final Gson gson = new GsonBuilder()
.registerTypeAdapter(ClusterUnits.class, new ClusterUnitsDeserializer()).create();
private final Class<T> clazz;
private final Map<String, String> headers;
private final Listener<T> listener;
private JSONObject parameters = null;
/**
* Make a GET request and return a parsed object from JSON.
*
* @param url URL of the request to make
* @param clazz Relevant class …Run Code Online (Sandbox Code Playgroud) 我只想有没有正方形的“勾号”。也只有作为 ImageView 才可以。有人知道Android中资源的名称吗?
android ×12
image-zoom ×2
adb ×1
android-wifi ×1
c++ ×1
gson ×1
java ×1
json ×1
robotium ×1
stream ×1
surfaceview ×1