小编JPv*_*rwe的帖子

使用填充重新定位ListView的滚动条

我有一个ListView填充到右边(和左边).

目前列表看起来像这样:

-----------------  |
| ROW         | |  |
|-------------| |  |
| ROW         | |  |
|-------------|#|  |
| ROW         |#|  |
|-------------| |  |
| ROW         | |  |
-----------------  |
Run Code Online (Sandbox Code Playgroud)

最右边的线是屏幕的边缘,#s是滚动条,右边的白色空间是右边ListView的填充.

滚动条位于填充的右侧,如下所示:

                    _
-----------------  | |
| ROW           |  | |
|---------------|  | |
| ROW           |  |#|
|---------------|  |#|
| ROW           |  |#|
|---------------|  | |
| ROW           |  | |  
-----------------  |_|
Run Code Online (Sandbox Code Playgroud)

是否可以像这样移动滚动条,或者我是否必须更改每行的布局以使其具有正确大小的不可见边框?

注意,目前每行都有一个由适配器设置的单独背景,因为我正在为我制作一个浮动窗口ListView,不幸的是我的一个屏幕要求我这样做才能让它看起来像我想要的那样.

android listview scrollbar

73
推荐指数
2
解决办法
2万
查看次数

创建自定义Drawable并在XML中使用它

我正在忙着创建一个不太复杂的版本,NinePatchDrawable用于平铺内部面板而不是拉伸它们.

我可以实现实际的逻辑来进行渲染等.

但是,我找不到有关如何Drawable在XML文件中使用它的文档.这可能吗?也就是说,我可以用一个<tileable-nine-patch>或者一些这样的标签来定义资源吗?

android drawable

20
推荐指数
2
解决办法
1万
查看次数

Delphi中存储的关键字

Delphi在定义属性时允许存储关键字,如下所示:

property Fields: TIndexDefs read FFields write SetFields stored FieldsStored;
Run Code Online (Sandbox Code Playgroud)

关键字的目的是什么?它的作用是什么?

delphi

14
推荐指数
2
解决办法
6710
查看次数

在Delphi中移动vs CopyMemory

Delphi中的Move和CopyMemory之间是否存在差异(特别是2007及以上版本)?

如果是这样,有什么区别?

delphi pointers

11
推荐指数
1
解决办法
2万
查看次数

ListView异步图像加载策略

我目前有一个带有自定义适配器的ListView,它可以异步地获取描述行内容的信息.每行的一部分是图像URL,我打算异步下载然后显示.

我目前计划下载这些图像的策略是:

  • 保留对下载的Bitmap对象的软引用缓存.
  • 调用getView()并且位图位于缓存中时,直接设置ImageView的位图.
  • 如果位图不在缓存中,则在下载完成后开始将其加载到单独的线程中,将其添加到缓存并在适配器上调用notifyDataSetChanged().

我也打算在调用拥有ListView的onDestroy() - 方法(或者甚至可能在onPause() - 方法中)的Activity对象时杀死挂起的下载,但最重要的是我要在行时删除挂起的图像的下载离开屏幕.我可能实际上只是在短暂的延迟后取消下载,所以如果行再次快速进入屏幕,它可以在不浪费带宽的情况下恢复.

但是,我不确定一些事情:

  • 什么是检测行何时离屏的最佳方法,以便我可以取消下载?
  • 在下载完成后调用notifyDataSetChanged()是最好的办法还是有更好的方法?

此外,对整个战略的任何评论都将不胜感激.

android listview

8
推荐指数
1
解决办法
3678
查看次数

优化Floyd-Warshall的对称邻接矩阵

如果保证有对称的邻接矩阵,是否存在降低Floyd-Warshall运行时常数因子的优化?

algorithm floyd-warshall

5
推荐指数
1
解决办法
3468
查看次数

糖果 - 访谈街

爱丽丝是幼儿园的老师.她想给她班上的孩子们一些糖果.所有的孩子都坐在一条线上,每个孩子都根据他或她的平常表现得到评分.爱丽丝想给每个孩子至少给一个糖果.因为孩子们有点嫉妒.对于任何相邻的2个孩子,如果一个人的评分高于另一个,他/她必须得到比另一个更多的糖果,爱丽丝必须根据他们的评级主题给她的糖果.爱丽丝想要存钱,所以她想要总共提供少量糖果.

输入

输入的第一行是一个整数N,即Alice类中的子节点数.以下每N行包含一个整数,表示每个孩子的评分.

产量

在输出的唯一行上打印一个整数,描述Alice必须给出的最小糖果数量.

样本输入

3
1
2
2
Run Code Online (Sandbox Code Playgroud)

样本输出

4
Run Code Online (Sandbox Code Playgroud)

说明

爱丽丝必须提供的糖果数量分别为1,2和1.

约束:

N 每个孩子的等级不大于10 ^ 5.

谁能帮帮我吗?

algorithm

4
推荐指数
5
解决办法
2万
查看次数

Canvas.drawBitmap()忽略了paint的tile模式

我想绘制位图的子部分,但大小不同.如果大小比位图中的源矩形大,那么我希望位图的该部分平铺以填充目标区域.然而,他们没有得到平铺,而是被拉伸了.

我设置了所有变量如下:

Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.image);
Rect srcRect = ...
Rect dstRect = ...
Paint p = new Paint();
p.setShader(new BitmapShader(b, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT));
Run Code Online (Sandbox Code Playgroud)

然后在draw()方法中我绘制如下:

canvas.drawBitmap(b, srcRect, dstRect, p);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我该如何绘制srcRectdstRect使位图的子部分得到平铺?

android bitmap android-canvas

3
推荐指数
1
解决办法
3088
查看次数

更改字典作为函数的全局范围

我想@pure为Python 做一个装饰器,其中一部分是能够选择性地禁止访问函数的全局范围.

有没有办法以编程方式更改哪个字典事物充当函数的全局/外部范围?

因此,例如在下面我希望能够拦截对fin 的访问h并抛出错误,但我想允许访问,g因为它是一个纯函数.

def f():
    print("Non-pure function")

@pure
def g(i):
    return i + 1

@pure
def h(i):
    f()
    return g(i)
Run Code Online (Sandbox Code Playgroud)

python cpython python-3.x

3
推荐指数
1
解决办法
77
查看次数

Call global function from within Delphi class's method

Is it possible to call global methods from within a class where they are obscured by member functions of the same name?

I know in C++ you have the following syntax:

int var = 0;

void temp() {
    int var = 2;
    ::var = var;
} //Global var is set to 2
Run Code Online (Sandbox Code Playgroud)

delphi

2
推荐指数
2
解决办法
1507
查看次数

这段代码有什么作用?

对于缺乏不喜欢按钮的呻吟现在在Facebook上风靡一时,各种团体如雨后春笋般涌现出来提供了一个不喜欢的按钮,但只有在你邀请了x你的朋友之后.

其中一个(可能是狡猾的?)组要求您在加入过程中运行Javascript.我还没有做过网页编码所以我想知道是否有人可以告诉我下面的代码是做什么的?

javascript:elms=document.getElementById('friends').getElementsByTagName('li');
for(var fid in elms){
     if(typeof elms[fid] === 'object'){
          fs.click(elms[fid]);
     }
}
Run Code Online (Sandbox Code Playgroud)

该组的链接在这里:|►OFFICIALDislikeButton™终于在这里◄| 现在添加它,它实际上工作!.该代码列在最近新闻部分的3个步骤中.

javascript facebook

2
推荐指数
1
解决办法
932
查看次数