嗨,我一直在查看缩放视图的开发人员代码,我似乎无法弄清楚这段代码假设要做什么:
final ImageView expandedImageView = (ImageView) findViewById(
R.id.expanded_image);
expandedImageView.setImageResource(imageResId);
// Calculate the starting and ending bounds for the zoomed-in image.
// This step involves lots of math. Yay, math.
final Rect startBounds = new Rect();
final Rect finalBounds = new Rect();
final Point globalOffset = new Point();
// The start bounds are the global visible rectangle of the thumbnail,
// and the final bounds are the global visible rectangle of the container
// view. Also set the container view's offset …Run Code Online (Sandbox Code Playgroud) 我关心我应该怎么设置compileSdkVersion,minSdkVersion以及targetSdkVersion要.
我首先关心的是,如果我将现在设置compileSdkVersion为最新的23,旧设备能够运行吗?
我如何确切地知道我应该怎样做minSdkVersion以确保运行较低api或版本的手机无法访问它(我不想将最小sdk设置得太高,因为这会阻止可能运行应用程序的手机)?
我该如何设置targetSdkVersion?
我使用 opengl 作为我的窗口。我想实现一个相机类,发现常规光标(GLFW_CURSOR_NORMAL)对于相机来说是不够的。因此,我运行命令glfwSetInputMode(window,GLFW_CURSOR,GLFW_CURSOR_DISABLE)让 opengl 为我重新定位鼠标,并通过我使用该方法设置的回调方法返回光标位置glfwSetCursorCallback(window,callbackPos)
如 glfw 网站上所述,回调函数 (callbackPos) 接受一个窗口和两个 x 位置和 y 位置的双精度值。http://www.glfw.org/docs/latest/input_guide.html
但是,每次我将鼠标移向一个方向时,这两个双打都会不断增长。我的问题来自这样一个事实,即通过整个窗口的使用和鼠标在一个方向上的移动,整个 double 将太小,甚至无法容纳所提供的价值,因为它在不断增长。这个问题有解决方案吗,或者这不是我应该担心的事情?
在处理不同的活动并开始它们以获得结果时,我别无选择,只能使用意图。现在意图需要上下文,这对我来说毫无意义。我知道上下文允许访问应用程序资源但是
当意图只是一个简单的信使时,为什么您需要了解应用程序资源?
另外,我不太确定为什么有些人getApplicationContext()用它来创建意图,而其他人将其用于活动上下文????
最后,当我没有传递上下文的“this”而是应用程序上下文时,我不太确定startActivityResult()调用该方法的活动如何接收回调onActivityResult()。我认为您必须使用“this”或传入当前调用的活动上下文startActivityResult()才能接收回调。那只是直接的java对吧?如果您传入一个类,则另一个活动类将引用您的类,因此允许它调用类中的方法,即onActivityForResult()。然而,事实并非如此,所以我错过了什么?
我是 opengl 的新手,所以我对顶点属性和顶点的术语感到困惑。我想知道是否有人可以澄清什么是顶点属性以及它与顶点有何不同。
另外,你能向我解释一下顶点属性与着色器有什么关系吗?
我正在学习opengl,我正在使用glfw库.我试图理解文档的含义是屏幕坐标和窗口的帧缓冲.因此,我记录了这两个函数的宽度和高度输出,但它们彼此相同.
所以我不太确定glfwGetWindowSize和glfwGetFramebufferSize之间有什么区别.
另外,我是否可以澄清帧缓冲区大小与屏幕坐标中窗口大小的区别?(这两个大小都在文档中提到但没有解释.此外,这两个大小分别对应于glfwGetFramebufferSize和glfwGetWindowSize).
private void init()
{
if (isInEditMode())
return;
paint.setStyle(Paint.Style.FILL);
paint.setColor(getResources().getColor(R.color.control_highlight_color));
paint.setAntiAlias(true);
setWillNotDraw(true);
setDrawingCacheEnabled(true);
setClickable(true);
}
Run Code Online (Sandbox Code Playgroud)
我试着理解如何创建涟漪效应时遇到上面的代码.
1)我的问题是究竟是什么isInEditMode().我看了一下开发者网站,解释对我来说有点混乱.
2)另一个是令if(isInEditMode()) return;我惊讶的代码.我认为if语句检查遵循格式if(){return;}.但是,上面代码的格式化方式让我感到困惑,我想知道为什么会这样.
3)另外,如果返回值没有,为什么不首先不指定它?
在开发应用程序时,我注意到有不同的文件,例如drawable和drawable-hdpi。所以我发现这些文件夹适用于不同的图标和图像大小。我的问题是,这两个是两个单独的文件夹,我想知道是否必须将 android 定向到单独文件夹中的图标?
我的意思是,我是否必须首先弄清楚设备的 dpi 类型并设置适当的图标,或者我可以只声明一个可绘制资源,然后 android 会为我找到它吗?
如果我可以设置一个图标名称和可绘制文件,并且 Android 系统将知道在不同的屏幕上使用什么,那么你能向我解释一下这是如何完成的吗?我的意思是它是两个独立的文件drawable 和drawable-hdpi。那么如何在drawable文件夹中设置一个图标图像,并且android知道要为不同设备的drawable-hdpi访问什么内容呢?