我想获得ListView滚动的精确像素位置.不,我不是指第一个可见的位置.
有没有办法实现这个目标?
我需要一种方法来在活动完全加载,布局,绘制并准备好用户的触摸控件的确切时刻运行一些代码.哪个方法/监听器可以做到这一点?
Eclipse总是在调试模式下启动我的应用程序,即使我单击常规的"运行"按钮...
有任何想法吗?
我想用BitmapFactory.decodeFile(路径,选项)解码SD卡中的图像.
我还希望将大于2048x2048像素的图像缩小到最多2048x2048(保持比例).
我可以在获取位图后手动执行此操作,但除了已分配的字节之外,还需要分配大量字节.
我应该如何设置我的BitmapFactory.Options对象以获得该效果?
谢谢
我正在尝试使用clang ++在Windows上使用Boost.Thread.
在包含boost/thread.hpp时,我遇到以下编译错误:
使用-DBOOST_USE_WINDOWS_H:
In file included from D:/env/boost/boost_1_58_0\boost/thread.hpp:13:
In file included from D:/env/boost/boost_1_58_0\boost/thread/thread.hpp:12:
In file included from D:/env/boost/boost_1_58_0\boost/thread/thread_only.hpp:15:
In file included from D:/env/boost/boost_1_58_0\boost/thread/win32/thread_data.hpp:11:
D:/env/boost/boost_1_58_0\boost/thread/win32/thread_primitives.hpp:223:67: error: conflicting types for 'GetProcAddress'
__declspec(dllimport) detail::farproc_t __stdcall GetProcAddress(void *, const char *);
^
/mingw/include\winbase.h:1675:27: note: previous declaration is here
WINBASEAPI FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR);
^
In file included from D:/env/boost/boost_1_58_0\boost/thread/thread_only.hpp:15:
In file included from D:/env/boost/boost_1_58_0\boost/thread/win32/thread_data.hpp:11:
D:/env/boost/boost_1_58_0\boost/thread/win32/thread_primitives.hpp:223:67: warning: redeclaration of 'GetProcAddress' should not add 'dllimport' attribute [-Wdll-attribute-on-redeclaration]
__declspec(dllimport) detail::farproc_t __stdcall GetProcAddress(void *, const char *);
^ …Run Code Online (Sandbox Code Playgroud) 我试图在OpenGL2.0中将纹理绘制到四边形上.到目前为止,我得到了四边形和一切,但纹理不存在 - 四边形都是黑色的.
我的主要怀疑是我没有正确地映射纹理 - 我的纹理不是2的幂,它们也不是正方形 - 它们的宽度在字段mWidth中,它们的高度在mRowHeight中.
四边形绘制在垂直列表中,使用转换矩阵完成.
如果有人能够解决这个问题我会非常绝望,我将非常感激!
这是相关的代码:
初始化缓冲区:
void initBuffers() {
float r = (float) mRowHeight / (mHeight / 2f);
ByteBuffer bb;
float[] bounds = { // X Y Z
/* 0 - TL */-1f, 1f, 0f,
/* 1 - BL */-1f, 1 - r, 0f,
/* 2 - BR */ 1f, 1 - r, 0f,
/* 3 - TR */ 1f, 1f, 0f };
bb = ByteBuffer.allocateDirect(bounds.length * 4);
bb.order(ByteOrder.nativeOrder());
mVertBuffer = bb.asFloatBuffer();
mVertBuffer.put(bounds).position(0); …Run Code Online (Sandbox Code Playgroud) 我在无数的网站上看到过这种代码但它似乎没有编译:
def foo(): (Int, Int) = {
(1, 2)
}
def main(args: Array[String]): Unit = {
val (I, O) = foo()
}
Run Code Online (Sandbox Code Playgroud)
它在标记的行上失败,报告:
可能是什么原因造成的?
我的项目中缺少"Android私有库"项(它没有出现在Eclipse的Project Explorer中)......看起来好像它没有内置到项目中,因为我遇到了各种错误关于我的"libs"文件夹中的jar文件...
它确实出现在Java Build Path中(但它似乎是空的 - 在Libraries选项卡中没有jar文件出现),但我确实在那里检查了它.
如果它具有任何相关性,那么手头的项目也有很多Android库项目依赖项,在这些库项目中,libs /下的jar文件出现在Android Private Libraries下.
我正在尝试在OPEN GL 2.0中实现可滚动图像网格.我已经使用Canvas Drawing实现了视图,但出于性能原因,我决定转换到OGL.在我的实现中,在每个帧我绘制一个Bitmap对象列表,每个Bitmap是一个缓存的图像缩略图行.现在我该如何将这些位图转换为可以与OGL一起使用的纹理?
我有一个将scaletype设置为matrix的ImageView,并希望在转换矩阵后得到一个带有图像边界的Rect.
我怎么得到这样的直肠?谢谢.
我有一个表4个字段:_id,to,from,hidden
在尝试插入以下值时:
_id=167 from=1311005879000 to=1311005879000 hidden=0
Run Code Online (Sandbox Code Playgroud)
在我的表中,我得到了一个SQLiteConstraintException,说明了这一点
'column _id is not unique (code 19)'
Run Code Online (Sandbox Code Playgroud)
为了找到导致此问题的原因,我尝试查询表的大小并发现它为0,所以我不知道它来自何处.
也许我没有正确理解错误?
编辑:一些代码!
try {
mDatabase.insertOrThrow("groups", null,
mContentValues);
} catch (SQLException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
创建SQL:
CREATE TABLE IF NOT EXISTS groups(_id LONG PRIMARY KEY,hidden INTEGER,from LONG,to LONG
Run Code Online (Sandbox Code Playgroud) 我有这个代码:
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
GLES20.glClearColor(0, 0, 0, 1.0f);
int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER,
getVertexShader());
int fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER,
getFragmentShader());
mProgram = GLES20.glCreateProgram();
GLES20.glAttachShader(mProgram, vertexShader);
GLES20.glAttachShader(mProgram, fragmentShader);
GLES20.glLinkProgram(mProgram);
Matrix.setIdentityM(mMMatrix, 0);
**maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition");**
}
Run Code Online (Sandbox Code Playgroud)
在标记的行之后,由于某种原因,maPositionHandle为-1.
这是我的vert着色器:
uniform mat4 uTMatrix;
uniform mat4 uMVPMatrix;
attribute vec4 aPosition;
attribute vec2 aTextureCoord;
varying vec2 vTextureCoord;
void main() {
gl_Position = uMVPMatrix * uTMatrix * gl_Position;
vTextureCoord = aTextureCoord;
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,有一个名为aPosition的属性,但我得到了-1,我在屏幕上没有得到绘图输出.我该如何解决?谢谢.
我这里有这个简单的方法:
private Node addItem(Node current, Node target) {
if (current.data.getId() < target.data.getId()) {
if (current.larger == null) {
current.larger = target;
Log.i("BinaryTree", "Added item: " + target.data.getId());
return target;
}
return addItem(current.larger, target);
} else {
if (current.smaller == null) {
current.smaller = target;
Log.i("BinaryTree", "Added item: " + target.data.getId());
return target;
}
return addItem(current.smaller, target);
}
}
Run Code Online (Sandbox Code Playgroud)
当我调试它时,代码到达'return target;'行,然后跳过它并转到最后一个return语句 - 'return addItem(current.smaller,target);'!我一生中从未见过像这样的WTF吗?!?!