问题列表 - 第41385页

Exposé布局算法

我制作的东西与Mac OS X在Exposé中的窗口类似.它适应项目的纵横比和可用区域的纵横比.

基本上,可用区域分为行和列.项目放在每个单元格(行和列的交集)中.width / height尽管电池的纵横比,物品必须保持其纵横比(此处).单元格数必须大于或等于项目数.在单元格数大于项目数的情况下,最后一行将不会被充分利用.目标是尽可能多地利用物品的可用区域.我很确定每个单元格的纵横比与项目的纵横比越接近越好.

当可用区域的宽高比等于项目的宽高比时,以下情况很有效:

rows    := round(sqrt(count));
columns := ceiling(sqrt(count));
Run Code Online (Sandbox Code Playgroud)

其中:count是项目数量; round(x)x到最接近的整数值,从零取整的情况下中途离开; 并ceiling(x)返回不小于的最小整数值x.

我知道Compiz使用以下类似的算法,但它没有考虑项目和可用区域的宽高比:

rows    := floor(sqrt(count + 1));
columns := ceiling(count / rows);
Run Code Online (Sandbox Code Playgroud)

其中:floor(x)返回不大于的最大整数值x.

我把以下O(n)算法放在一起,它测试行和列的每个组合并寻找最佳拟合,但肯定有一个O(1)算法,因为它产生与第一个(O(1))完全相同的结果当项目和可用区域的纵横比相同时的算法:

fit (itemCount, itemRatio, availableRatio)
{
    bestRows := infinity;
    bestColumns := infinity;
    bestDiff := infinity;

    for (rows := 1; rows <= count; rows += 1)
    {
        columns := ceiling(count / rows);

        cellWidth  := …
Run Code Online (Sandbox Code Playgroud)

algorithm math layout user-interface

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

一个Tcl线程如何在另一个Tcl线程中引发事件?

我有一个带有多个I/O接口的系统,我正在将所有这些接口的输出收集到一个公共日志中.其中两个接口是通过行为良好的通道打开的,这些通道作为类文件对象打开,并且可以在事件基础上使用"fileevent readable"进行管理.另外两个是问题.

这些是供应商提供的库,其他人已经将其包含在Tcl包中(snoopy,FWIW).但是,唯一的读取访问是阻塞调用,并且程序包中没有任何内容会导致事件等同于fileevent.

我已经弄清楚如何生成一个单独的线程来阻止读取,拉出结果,并将其放入主线程的消息队列中.但是在读取队列时使用主线程块似乎会破坏目的,特别是因为它必须阻塞两个队列.而且我无法让读者生成一个可以触发主线程来读取队列的事件.

到目前为止,我已经查看了tcl.tk wiki无济于事.我已经尝试使用uevent库在消息推送上生成一个事件,但事件转到写入线程而不是读取线程,这实际上没有帮助.似乎应该有一些与Thread条件变量相关的解决方案,但到目前为止,我还没有找到适合该库使用的设计模式.

如果所有其他方法都失败了,我将回到Tk事件,但我试图让Tk脱离这个,因为它意味着是一个没有GUI的自动化系统,任何提及Tk都会将tclsh推入愿望并弹出一个GUI窗口.

我觉得我很亲密,但只是缺少一些东西.

events multithreading tcl

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

Android SoundPool:播放结束时收到通知

这个声音很简单,我无法弄清楚为什么我找不到答案哈哈

我有一个工作的声音池类(感谢教程和我做过的一些调整),它工作正常.

现在的问题是我希望能够随机改变我的背景音乐.(并不总是在循环中有相同的音乐,但有2或3,当一个完成时,我播放其他2个中的一个).

问题是我找不到通知音乐播放完毕的方法.

有任何想法吗 ?

贾森

android soundpool

18
推荐指数
4
解决办法
1万
查看次数

这种常见做法是避免在字典中找不到密钥

我想知道,以下样式是否是一种常见的做法,以避免在词典中找不到键?

# default is 0
value = my_dic[100] if 100 in my_dic else 0
Run Code Online (Sandbox Code Playgroud)

python

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

java中接口的实际用途是什么?

可能重复:
抽象类和接口类?
Java:接口/抽象类/抽象方法

在Java中,抽象类实现了对接口的任何使用.我知道接口的一个优点是,如果我们实现一个接口,那么我们也可以扩展另一个类.Java中是否有任何其他用途或优势?

java abstract-class interface

18
推荐指数
3
解决办法
8万
查看次数

在每个更改状态上调用js脚本

我有很多html项目的大表,如选择,文本框,单选按钮,复选框.我也有一些功能.我想在项目的每个更改中调用此函数.例如,选择已更改,或文本框中的某些文本类型,或单击单选按钮.我怎么能简单地订阅并调用我的js函数?我可以插入任何项目

平变化= '功能()'

但可能是jquery允许更简单的方式?任何样品?

javascript jquery

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

这个像州一样的monad是个好名字

这是相结合的东西StateWriter.我检查过monad法律.

newtype M s a = M { runM :: s -> (s,a) }

instance (Monoid s) => Monad (M s) where
    return = M . const . (mempty,)
    m >>= f = M $ \s -> 
        let (s' ,x) = runM m s
            (s'',y) = runM (f x) (s `mappend` s')
        in (s' `mappend` s'', y)
Run Code Online (Sandbox Code Playgroud)

StateWriter 看起来有点蹩脚.

monads haskell

7
推荐指数
1
解决办法
449
查看次数

如何克服导航栏的效果

在我的应用程序中,我想隐藏导航栏,当我去前一个视图和我隐藏导航栏在viewwiilldisaapper方法,但效果仍然意味着它给出了流行时的白色屏幕..

任何人都可以告诉我它的解决方案.

谢谢大家.

iphone

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

正则表达式匹配img标记中的任何url

我需要一个可以匹配img src标签中任何url的正则表达式

URL可以从"/images/temp.jpg"或"temp1.jpg"或甚至"http://www.example.com/temp.jpg?i=123"或任何内容变化

我写了以下代码:

preg_match_all('/(href|src)\s*=\s*"([^\s]+\/\/[^\/]+.\/[^\s]+\.(jpg|jpeg|png|gif|bmp))/ixu'
Run Code Online (Sandbox Code Playgroud)

但它不匹配许多网址,包括查询字符串,如?i = 12345

任何人都知道如何实现这一目标?

谢谢

php regex

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

如何使用JDBC连接到本地主机?

我在自己的机器上安装了MySql.我使用MySql CommandLine Client创建了数据库,创建表,... 在学校开展项目时,我使用以下语法连接到学校的数据库:

public static Statement connect() {
  try {
   Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
   conn = DriverManager.getConnection( "1", "2", "3" );
   stmt = conn.createStatement();
  }
  catch( Exception e ) {
   System.out.println( "Connection Error:  " + e );
  }
  return stmt;
 }
Run Code Online (Sandbox Code Playgroud)

在我的本地机器上,我不必输入用户名,我所做的只是以root用户身份登录我的密码:

Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.53-community MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. …
Run Code Online (Sandbox Code Playgroud)

java mysql jdbc

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