小编blo*_*ork的帖子

Displaying activity with custom animation

I have a widget which starts an activity when it is clicked. I'd like to have some kind of fancy animation to display this activity, rather than the standard scroll-from-right of Android. I'm having problems setting it, though. This is what I have:

slide_top_to_bottom.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
    <translate android:fromYDelta="-100%" android:toXDelta="0" android:duration="100" />
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="50" />
</set>
Run Code Online (Sandbox Code Playgroud)

...在anim.xml中引用

<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
        android:delay="50%"
        android:animation="@anim/slide_top_to_bottom" />
Run Code Online (Sandbox Code Playgroud)

但那我从哪里参考呢?我已经尝试了我要插入的活动的基本元素,以及清单中的activitiy条目,两次都是

android:layoutAnimation="@+anim/anim"
Run Code Online (Sandbox Code Playgroud)

我可能做错了.任何帮助深表感谢!

animation android android-widget

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

更改ActionBar隐藏动画?

默认情况下,在Android 3.0+中,当调用ActionBar.hide()/ show()时,条形图会以简短的淡入/淡出动画进行动画处理.

此列表中似乎没有与动画资源关联的XML样式属性.

有没有办法改变这个动画?在我的情况下,我只是想改变动画时间,但是也可以有滑动动画吗?

android android-animation android-3.0-honeycomb android-actionbar

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

使用"自动管理签名"/ allowProvisioningUpdates时,何时更新配置文件?

我有一个企业分布式应用程序,它使用xcodebuild构建在构建服务器上.去年我们进行了更改,使用"自动管理签名"功能和"-allowProvisioningUpdates"标志.使用此技术可以很好地生成配置文件,但是我们使用此配置文件可以使用一年,并且会在31天后到期.

最初我的印象是使用"allowProvisioningUpdates"将导致在每个新构建上重新生成供应配置文件,但如果是这样的话,它将不会过期.我们需要使用更新的配置文件进行新的构建,以便我们的用户在几个月的时间内不会丢失应用程序.但是,生成的配置文件未显示在Apple开发人员中心的"证书,标识符和配置文件"部分中,我找不到任何方法强制Xcode或xcodebuild生成新的配置文件.我如何强制这样做以确保我们的用户没有停机时间?配置文件最终到期后会发生什么?

xcode xcodebuild ios provisioning-profile ios-provisioning

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

在Android JUnit测试中加载本机库

我已经生成了一个本机库ndk-build,我可以在我的Android应用程序中加载和使用它.但是,我想针对我的应用程序的这一部分编写一些测试.

在我的测试中调用本机函数时,我收到此异常消息:

java.lang.UnsatisfiedLinkError: no process in java.library.path
Run Code Online (Sandbox Code Playgroud)

... process我要导入的本地库在哪里命名libprocess.so.

我正在使用Roboelectric进行测试,并运行这个特殊的测试RobolectricTestRunner,如果它有所作为.

如何让我的测试项目"看到"本机库?


编辑: 我正在我的应用程序中加载库,如下所示:

static {
    System.loadLibrary("process");
}
public static native int[] process(double[][] data);
Run Code Online (Sandbox Code Playgroud)

调用Process.process(array)在应用程序中正常工作(库已加载),但在从上面给出的异常的测试运行时失败.


编辑2: 如果我设置-Djava.library.path="<the directory of libprocess.so>"为VM参数,则:

System.out.println(System.getProperty("java.library.path"));
Run Code Online (Sandbox Code Playgroud)

确实显示了我设置的路径,但我仍然得到相同的异常.我将目录设置为:

<project-name>/libs/x86
Run Code Online (Sandbox Code Playgroud)

......但作为一条绝对的道路.

java junit android android-ndk

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

当UINavigationController以模态方式呈现时,UIBarButtonItems移位

UINavigationController在iOS应用扩展程序中呈现模态:

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];       
nav.modalPresentationStyle = UIModalPresentationFormSheet;
nav.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:nav animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

当导航控制器出现时,其根视图控制器的UIBarButtonItems跳转位置:

跳跃的按钮

我正在创建和添加按钮viewDidLoad.它们只是标准的条形按钮项:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)];
Run Code Online (Sandbox Code Playgroud)

我没有压倒viewDidAppear(这似乎是按钮跳跃的点).

从我的应用程序中呈现相同的导航控制器/根视图控制器,而不是应用程序扩展,不会给我同样的问题.有任何想法吗?

uinavigationbar uikit uinavigationcontroller ios8 ios-app-extension

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

具有AutoLayout的UITableViewCell - contentView宽度约束失败

我在iOS 8中遇到动态大小的tableViewCell问题.虽然它在视觉上看起来很好,但我得到了带有AutoLayout错误的日志输出.我把它简化为这个简单的例子.

我正在为我的手机添加一个UILabel:

self.titleLabel = [[UILabel alloc] init];
self.titleLabel.translatesAutoresizingMaskIntoConstraints = NO;
self.titleLabel.numberOfLines = 0;
self.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
[self.contentView addSubview:self.titleLabel];
Run Code Online (Sandbox Code Playgroud)

我在代码中创建我的自动布局的限制,采用砌体updateConstraints:

[self.titleLabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];
[self.titleLabel updateConstraints:^(MASConstraintMaker *make) {
    make.leading.equalTo(self.contentView.leading).with.offset(padding.left);
    make.trailing.equalTo(self.contentView.trailing).with.offset(-padding.right);
    make.top.equalTo(self.contentView.top).with.offset(padding.top);
    make.bottom.equalTo(self.contentView.bottom).with.offset(-padding.bottom / 2);
}];
Run Code Online (Sandbox Code Playgroud)

(我可以用make.edges一步完成,但问题是一样的)

这最初看起来很好.然后,当我对tableview执行任何修改并调用[tableView endUpdates](可能是触发updateContraints)时,我在控制台日志中得到以下内容:

Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios autolayout ios8

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

Javascript Marquee替换<marquee>标签

我对Javascript毫无希望.这就是我所拥有的:

<script type="text/javascript">
    function beginrefresh(){

        //set the id of the target object
        var marquee = document.getElementById("marquee_text");

        if(marquee.scrollLeft >= marquee.scrollWidth - parseInt(marquee.style.width)) {
            marquee.scrollLeft = 0;
        }

        marquee.scrollLeft += 1;

        // set the delay (ms), bigger delay, slower movement
        setTimeout("beginrefresh()", 10);

    }
</script>
Run Code Online (Sandbox Code Playgroud)

它滚动到左边但我需要它相对无缝地重复.目前它只是跳回到开头.这可能不是我做的方式,如果没有,任何人都有更好的方法?

html javascript marquee

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

使用从Web加载的图像构建RatingBar

我有一个表单,我从我从Web服务收到的数据动态生成.此Web服务提供了在创建输入元素时需要使用的图像.我很难设定progressDrawable一个RatingBar.虽然XML我能够使用以下内容应用自定义图像progressDrawable:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+android:id/background" android:drawable="@drawable/custom_star" />
    <item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/custom_star" />
    <item android:id="@+android:id/progress" android:drawable="@drawable/custom_star" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)

其中custom_star是一个简单的.png图像,并且具有@android:style/Widget.RatingBarRatingBar样式.这很好用:

工作开始

但我想custom_star动态改变.

在代码中,我尝试直接使用位图设置进度drawable:

Drawable d = new BitmapDrawable(getResources(), downloadedImage);
ratingBar.setProgressDrawable(d);
Run Code Online (Sandbox Code Playgroud)

并通过构建layer-list:

LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] {
    getResources().getDrawable(R.drawable.custom_star),
    getResources().getDrawable(R.drawable.custom_star),             
    getResources().getDrawable(R.drawable.custom_star)
});

layerDrawable.setId(0, android.R.id.background);
layerDrawable.setId(1, android.R.id.secondaryProgress);
layerDrawable.setId(2, android.R.id.progress);

ratingBar.setProgressDrawable(layerDrawable);
Run Code Online (Sandbox Code Playgroud)

对我来说都不适用; 两者都会导致custom_star出现一次拉伸,拉伸的尺寸为RatingBar:

在此输入图像描述

有任何想法吗?

更新:

Luksprog在下面的回答有所改进,但我仍有一些问题.现在,星形drawable没有被拉伸,并且可以通过触摸设置值,但是如果选择3/5则显示为:

没有中学

和5/5选择:

太多的明星

我相信图像的缩放可以通过一些调整来修复,但令人讨厌的是,secondaryProgress可绘制的东西似乎没有设置 - 用于灰色未选择的星星的可绘制.没有它,它不是很有用.

android android-layout ratingbar

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

在调用reloadData之前,Autolayout会错误地调整UITableViewCells的大小

我有一个tableview单元格,其视图从一个笔尖加载,其子视图使用AutoLayout进行约束.我正在使用iOS 8的自调整大小功能.在第一次显示时,单元格如下所示:

保证金太多.

绿色视图与蓝色和灰色视图之间的边距比我预期的要大.如果我向下滚动视图以便创建更多单元格,或者如果我在tableview上调用reloadData,那么我会得到正确的结果:

正好.

就好像单元格子视图的大小不正确,直到第二个布局通过.我怎么能绕过这个?我已经看到了一些职位,建议设置setPreferredMaxLayoutWidthlayoutSubviews,就像这样:

-(void)layoutSubviews
{
    [super layoutSubviews];
    [self.redLabel setPreferredMaxLayoutWidth:[self.titleLabel bounds].size.width];
    [self.greenLabel setPreferredMaxLayoutWidth:[self.extendedLabel bounds].size.width];
    [self.blueLabel setPreferredMaxLayoutWidth:[self.dateLabel bounds].size.width];
    [self.grayLabel setPreferredMaxLayoutWidth:[self.tagsLabel bounds].size.width];
    [super layoutSubviews];
}
Run Code Online (Sandbox Code Playgroud)

......但似乎没有效果.

我的约束似乎没有任何歧义,但由于它们是在.nib中设置的,我不知道如何在这里发布它们.


编辑1:

所以我将蓝色/灰色视图的顶部空间设置为> =绿色视图的底部,+ 3.这实际上是我得到的,因为空间更大.

但是,如果我将关系设置为==,我会得到一个不同的视觉错误,其中红色标签的大小不正确,因为它包含的文本数量: 在此输入图像描述


编辑2:

不确定我是否应该开始一个新问题,但这是同样的问题.

在编辑1中仍然存在布局的反复出现的问题.除了视觉问题,当我的tableview中的单个单元格发生变化时,它会导致可怕的效果.整个列表似乎会崩溃并重新加载.此外,我记录以下自动布局错误:

Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints …
Run Code Online (Sandbox Code Playgroud)

uitableview ios autolayout ios8

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

将文本图像分离为组件字符图像

我想将文本图像分成它的组成字符,也作为图像.例如,使用下面的示例,我最终会得到14张图像.

我只会在一行上使用文字,所以y高度并不重要 - 我需要找到的是每个字母的开头和结尾以及裁剪到那些坐标.这样我也可以避免'i','j'等问题.

我是图像处理的新手,我不知道如何去做.某种形式的边缘检测?有没有办法确定纯色的连续区域?任何帮助都很棒.

试图提高我的Python技能和熟悉一些可用的库,所以我使用的是Python Imaging Library(PIL),但我也看过OpenCV.


示例图片:

这是一些文字

python image-processing python-imaging-library

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

C阵列和不间断的列表

/编辑:感谢您的帮助到目前为止,但是我没有任何解决方案来获取样本输入并提供样本输出.我的描述并不是最清楚的,对不起.

我有一个由二进制数据组成的数组.我想要做的是确定每个不间断的1或0段的长度.

说我有这样的数据:

0111010001110
Run Code Online (Sandbox Code Playgroud)

binaryArray我需要翻译成的数组中:

0100110
Run Code Online (Sandbox Code Playgroud)

存储在nwArray其中,0代表一个窄(小于3位长),并1表示宽(> 3位长).我不关心二进制值,而是关注每个组件的长度.我不确定这种解释是否有意义.

这就是我的意思; 它不起作用,我明白为什么,但我想不出一个好的解决方案.

for(x=0;x<1000;x++){
    if(binaryArray[x]==binaryArray[x+1]){
        count++;
        if(count>=3){
            nwArray[y]=1;
            y++;
            count=0;
        }
    }else{
        if(barcodeArray[x]){
            nwArray[y]=0;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c arrays

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