我正在尝试将Fabric SDK与我的Android libgdx应用程序集成.
fabric.io提供的Android Studio插件不适用于我的Gradle构建文件(由Libgdx 工具生成).该插件只是不触及它们.
所以我尝试手动编辑它们.这是我的build.gradle档案:
buildscript {
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.+'
classpath 'io.fabric.tools:gradle:1.+'
}
}
allprojects {
apply plugin: "eclipse"
apply plugin: "idea"
version = '1.0'
ext {
appName = 'App'
gdxVersion = '1.5.4'
roboVMVersion = '1.0.0-beta-04'
box2DLightsVersion = '1.3'
ashleyVersion = '1.3.1'
aiVersion = '1.5.0'
}
repositories {
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
maven { url "https://oss.sonatype.org/content/repositories/releases/" }
}
}
project(":desktop") {
apply plugin: …Run Code Online (Sandbox Code Playgroud) 我正在使用拖放功能,允许用户在页面上订购元素.我有几个<ul>元素,<li>里面有元素(都<ul>包含3个<li>元素),每个无序列表对应一个月,所以
<ul class="dragable" id="month-june">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<ul class="dragable" id="month-july">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<ul class="dragable" id="month-august">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<!-- etc.. -->
Run Code Online (Sandbox Code Playgroud)
一旦.drop()事件发生,我想以某种方式对所有列表进行排序(基本上用户在拖动项目后将项目放置到位).我正在改变dom中的列表位置,所以他们总是在那里订购,例如,如果8月的第3项在第7项和第2项之间移动,它将如下所示:
<ul class="dragable" id="month-july">
<li>Item 1</li>
<li>Item 3</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
现在我需要弄清楚如何将第3项从7月推到8月的无序列表,并在其后推下所有其他项目.如果例如来自6月的项目1在项目2和项目3之间被拖入7月,则应该反之亦然,在这种情况下,其上方的所有内容都应向左移动.因此,我需要在任何给定时间在所有列表中有3个项目.
这是进一步显示它的图像,希望更好地解释它:(考虑中间部分作为初始,而不是箭头显示项目被拖动的位置以及根据位置在列表之前和之后发生的情况)

这可以在不使用id或类的情况下完成,但依赖于下一个和前一个元素(无序列表),因为我不确切知道在这种情况下几个月会跟着什么.
这是非常简单的js摆弄拖放行为:DEMO
我有两个结构.App和Item.
我想要实现的是通过将可变引用传递给s构造函数来在结构Item的items向量中存储.AppItem
pub struct App<'a> {
items: Vec<&'a Item>
}
impl<'a> App<'a> {
pub fn new() -> App<'a> {
App { items: Vec::new() }
}
pub fn register_item(&mut self, item: &'a Item) {
self.items.push(item);
}
}
pub struct Item;
impl Item {
pub fn new(app: &mut App) -> Item {
let item = Item;
app.register_item(&item);
item
}
}
fn main() {
let mut app = App::new();
let item = Item::new(&mut …Run Code Online (Sandbox Code Playgroud)