小编ruf*_*ufo的帖子

用于Animate TopMargin的ObjectAnimator代理无法找到设置/获取

我们正在尝试使用objectanimator代理来为Android(Xamarin)中的TopMargin属性设置动画.

但是,我们收到此错误:

[PropertyValuesHolder]找不到属性TopMargin的setter/getter,其值类型为float

注意:我们尝试过TopMargin,topMargin,GetTopMargin,getTopMargin等,认为它可能是Java和C#之间的套管转换问题,但看起来并非如此.

我们在Activity中开始动画的代码:

translation = new int[] {0, 300};
var anim2 = ObjectAnimator.OfInt( new MarginProxyAnimator(myview), "TopMargin",translation);
anim2.SetDuration(500);
anim2.Start(); 
Run Code Online (Sandbox Code Playgroud)

我们的代理类:

public class MarginProxyAnimator : Java.Lang.Object 
{
///... other code...
    public int getTopMargin() {
    var lp = (ViewGroup.MarginLayoutParams)mView.LayoutParameters;
    return lp.TopMargin;
    }

    public void setTopMargin(int margin) {
    var lp = (ViewGroup.MarginLayoutParams)mView.LayoutParameters;
        lp.SetMargins(lp.LeftMargin, margin, lp.RightMargin, lp.BottomMargin);
    mView.RequestLayout();
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?使用代理指向工作Xamarin样本的指针会很有帮助.

谢谢.

c# android xamarin.android xamarin

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

核心数据:观察某种类型的新实体

我希望每当添加某种类型的实体(并且可能更改/删除)时都会收到通知.

我通过向managedObjectContext添加一个观察者来读取它是可能的.但是,我还没有找到实际的方法.

我在做:

[context addObserver:self forKeyPath:@"{myEntityName}" options:{I have tried several different values, but I am failing to understand which one to use} context:@"NewEntity"];
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

注意:我显然是coredata/cocoa/objective-c的新手,这可能是非常基本的,但一直在追逐答案.无法找到关于如何正确观察上下文对象的更改的示例和/或解释(我已经能够观察到特定实体的更改而没有问题).

顺便说一句:这是一个类似的问题,表明这是可能的,但我缺乏细节:核心数据:观察某些类型的实体的所有变化

core-data nsnotifications nsmanagedobject nsmanagedobjectcontext

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

Xamarin 中的类名到 Objective C 的绑定

我们正在将一个库从 Objective C 绑定到 C#。我们希望在 C# 的类中使用不同的名称。

C# 中的类和目标 C 类必须具有相同的名称吗?

我知道在 C# 的方法中使用 MonoTouch.Foundation.ExportAttribute 我们可以为方法和属性指定不同的名称...但是,我还没有找到如何对类执行相同的操作。

谢谢。

xamarin.ios

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

Windows Azure - 硬盘大小

我正在玩Windows Azure来创建一个小型虚拟机来托管几乎不占用任何空间的服务.

Windows Azure创建一个默认的130GB磁盘,大约100gb可用.这太过分了.我不需要那么多空间.

我知道MSFT会对存储充电(即130gb),所以我想创建更小的VM(可能是30或40gb).

  1. MSFT是否会向我收取未使用的空间?
  2. 有没有办法按我想要的尺寸创建机器?
  3. 如果没有办法按我想要的尺寸创建机器,如何调整大小?(将.vhd下载到我的计算机上的选项,在本地调整大小并上传看起来太费力了,说得少).

azure azure-virtual-machine

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