我为我的Android应用程序选择了API最低级别1.5,而我正准备将手势集成到1.6中.Eclipse中有没有办法通过构建应用程序将最低级别从1.5改为1.6?
非常感谢
昨天我花了一些时间与android布局(...或更好的自定义布局)进行斗争.对于一般用途形式,orroids提供的开箱即用布局绰绰有余.但是当谈到更复杂的用例时(让我们以旋转木马为例,重叠放置在椭圆路径上的图像)我很快就意识到了android API的局限性和复杂性.这是我的方法:
使用开箱即用的布局不是一个选项(对于许多无法处理的难以管理的问题),但是为了轻松执行翻译,旋转,需要可以添加到容器的图形对象(比如说像ImageView)是必要的.等...通过内置动画.
AbsoluteLayout似乎是最合理的布局.它允许添加派生的视图对象并编写自己的算法来定位它们.但是......它被弃用了.真是太遗憾了!谁想使用弃用的apis?
下一个最合理的事情是编写自己的布局子类化神秘的ViewGroup ..这里是所有事情崩溃的地方(至少它对我来说).这样做很复杂,误导和棘手,就像为摇摆编写自己的自定义布局一样(我实际上是在几年前做过的,我记得更简单).
然后(由绝望驱动)对View进行子类化,覆盖onDraw方法并直接在Canvas上绘图似乎是唯一直接的解决方案(虽然这让我想起了java2D的日子...花了很长时间来达到你的高1%项目),但是你放弃了你想要应用于画布上绘制的图形的方便的内置动画API.
结论是,除非我遗漏了一些内容,否则当前的android体系结构与其他一些UI技术(如flash或javafx)提供的编程范例相差甚远(我可以在javafx和flash中轻松实现上述轮播).原因是,在javafx中,例如,Scene对象(与Android的View概念相当)默认提供绝对布局.然后,您可以根据需要应用其他开箱即用的布局.但对于需要自定义布局的场景,您无需执行任何操作.
我有点意外的是,这个选项在Android中不可用,毕竟是其他ui技术解决的一个非常普遍的需求.我仍然认为在Android中有一个我没有找到的第五个选项.那里的任何专家可以提供有关该主题的一些信息吗?
谢谢.
我有一个像这样的查询:
SELECT DISTINCT
`a`.*,
`b`.*,
`c`.*
FROM `a`
INNER JOIN `b` ON (`b`.`a_id` = `a`.`id` )
INNER JOIN `c` ON (`c`.`id` = `b`.`c_id`)
WHERE (
(`a`.`id` = 12345) AND
(`b`.`foo`= "bar")
)
Run Code Online (Sandbox Code Playgroud)
基本上,这将从a = id = 12345获取行,并且b中涉及此行的行,以及来自c的关于此b行的行,仅b中的行具有foo = bar
现在,如果没有b行有foo = bar,则甚至不返回a行.这是错的.无论匹配哪一行返回(无论是否有bs和cs),我都希望这样.我怎样才能做到这一点?(有办法吗?)
我在Windows 7旗舰版下使用Qt 4.6.0(32位).请考虑以下事项QThread:
class ResultThread : public QThread
{
Q_OBJECT
QString _post_data;
QNetworkAccessManager _net_acc_mgr;
signals:
void onFinished(QNetworkReply* net_reply);
private slots:
void onReplyFinished(QNetworkReply* net_reply);
public:
ResultThread();
void run();
void setPostData(const QString& post_data);
};
Run Code Online (Sandbox Code Playgroud)
ResultThread::ResultThread() : _net_acc_mgr(this)
{
connect(&_net_acc_mgr, SIGNAL(finished(QNetworkReply*)),
this, SLOT(onReplyFinished(QNetworkReply*)));
}
void ResultThread::onReplyFinished(QNetworkReply* net_reply)
{
emit onFinished(net_reply);
}
void ResultThread::setPostData(const QString& post_data)
{
_post_data = post_data;
}
void ResultThread::run()
{
_net_acc_mgr.post(QNetworkRequest(QUrl("http://[omitted]")),
QByteArray(_post_data.toStdString().c_str()));
}
Run Code Online (Sandbox Code Playgroud)
每当_net_acc_mgr.post()执行时ResultThread::run(),我在Qt Creator中获得以下应用程序输出:
QObject:无法为位于不同线程中的父级创建子级.
(Parent是QNetworkAccessManager(0x22fe58),父线程是QThread(0x9284190),当前线程是ResultThread(0x22fe48)
这是什么意思?怎么解决?
XML,XSLT和XPath上可用的PostgreSQL材料是有限的.有PostgreSQL团队的官方文档,但这些文档只涉及几页内容,我从未相信他们的文档尽可能全面.
在网站上也有一些位和爆炸,但没有太多.
任何人都可以给我任何关于他们如何使用PostgreSQL 8.4中的XML功能,或指向任何隐藏的宝石博客帖子等的例子?
我对xpath()和xslt_process()函数特别感兴趣.
提前致谢!
我们需要一个用于swing的自动完成组件,jdesktop/SwingX中的问题是我们必须使用组合框,并且在每个键击之后它只是向下滚动到最近的匹配,但组合仍然保持25.000个元素.它不会显示最接近匹配的4或5,因为它们可以位于列表的不同位置.我们不想显示25000的列表......
是否有类似于JSF自动完成或谷歌主页中的那个?我们需要的是一个询问我们界面的组件
public List getOptions(String typedSoFar){//这里我们根据我们的标准返回5个匹配的,只提供//用户那五个}
var polygon = new GPolygon(polylines[0],"#FFFFFF", 1, 1.0, color,opacity);
polygon.hid = this.id;
polygon.heat = this.heat;
google.maps.event.addListener(polygon, 'click', function(point) {
HoodsUnselect(active_hood_id);
active_hood_id = polygon.hid;
polygon.setOptions({fillColor: '#2948e4', fillOpacity: 0.50 });
//polygon.setFillStyle( { color:'#2948e4',opacity:'0.50' } );
if (point) {
map.openInfoWindowHtml(point, the_list); // open info window where user clicked
} else {
map.openInfoWindowHtml(polygon.getBounds().getCenter(), the_list); // open info window at the center of polygon
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个窗口的miglayout,其中一个列被指定为grow但我需要修改它,所以它基本上意味着"增长,但限制为___像素".
有没有办法可以做到这一点?
我知道我可以使用语法为矢量设置自定义分配器vector<T, Alloc>.有没有办法我可以为字符串做同样的事情?