小编Tom*_*lin的帖子

检测应用程序何时打开/恢复

每次打开/关闭应用程序时,无论是从任务抽屉启动还是恢复,我都希望在服务器上签入和签出用户.有没有办法做到这一点,同时避免在每个活动中调用一个函数?

谢谢!

android data-collection

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

在Horizo​​ntalScrollView中有效调整ImageView的大小

我正在制作一个可滚动的视图,其中包含每个图像下方的图像和edittexts.为简单起见,下面显示的图像没有edittexts.当图像居中时,它需要"增长"并且图像离开需要"缩小".

我希望图像在它们居中时调整大小.我知道如何计算每个图像视图中的大小和位置作为scrollX的函数.我没有试图实现这一点,但我想在尝试这样做之前先听一些意见.

有效地做到这一点的最佳方法是什么?将10个图像(最大值)加载并在视图滚动时不断调整大小,计算成本是否昂贵?这会不稳定吗?

想法: - 在scrollX更改时计算每个图像大小和位置.调整每个图像的大小并重新定位. - 仅跟踪在居中/离开中心时将增长/缩小的图像.调整大小并将其重新定位为视图

思考?您认为最好的实施方式是什么?谢谢!

在此输入图像描述

android horizontalscrollview

6
推荐指数
0
解决办法
123
查看次数

动画缩放故障

当我将此动画添加到相对布局中的图像视图时,图像会在平滑增长和收缩(然后跳回其原始大小)之前跳转到更大的比例。

当我注释掉下面显示的文件中的第二个“缩放”动画时,不会发生这种意外的跳跃。为什么?我想不明白。

主要活动:

ImageView image = (ImageView)findViewById(R.id.imageView1);
        Animation animation = AnimationUtils.loadAnimation(getApplicationContext(),    R.anim.myanimation);         
        image.startAnimation(animation);
Run Code Online (Sandbox Code Playgroud)

myanimation.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="3.0"
    android:toYScale="3.0" >
</scale>
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fromXScale="3.0"
    android:fromYScale="3.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:startOffset="2000"
    android:toXScale="1.0"
    android:toYScale="1.0" >
</scale>

</set>
Run Code Online (Sandbox Code Playgroud)

android scale android-animation

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

将Float(不浮动)写入包裹

我想写一个Float,以便我可以将它的值设置为null ...任何想法?

我现在唯一的想法是,如果Float为null,则写入负值,然后通过写入null读取包裹处理负值.这会非常烦人,很多if语句(最终目标是编写这个JSON对象,它需要包含Floats而不是浮点数.

谢谢!

编辑:

我目前正在使用这些方法来执行此操作.来自r.get ....()的所有值都返回Floats

private float valueFromFloat(Float f) {
    if (f == null) {
        return -1f;
    } else {
        return f.floatValue();
    }
}

private void writeRoute(Route r) {

    parcel.writeFloat(valueFromFloat(r.getBus()));
    parcel.writeFloat(valueFromFloat(r.getHeavy_rail()));
    parcel.writeFloat(valueFromFloat(r.getWalk()));     
    parcel.writeFloat(valueFromFloat(r.getCar23()));
    parcel.writeFloat(valueFromFloat(r.getLight_rail()));
    parcel.writeFloat(valueFromFloat(r.getCars4()));
    parcel.writeFloat(valueFromFloat(r.getCar()));
    parcel.writeFloat(valueFromFloat(r.getAlternative()));  
    parcel.writeFloat(valueFromFloat(r.getMotorcycle()));
}
Run Code Online (Sandbox Code Playgroud)

android parcel

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

从现在起计算某个时间段的日期

我有一个开始日期(日,月,年),需要从该日期算起4周的日期.我该如何计算呢?我知道如何使用日历找到两个日期之间的差异,所以我假设我离答案不太远......谢谢!!!

编辑:

这是我最后使用的代码.它返回一个String,其值是日期范围,格式为"MM/dd/YYYY - MM/dd/YYYY"

@SuppressLint("SimpleDateFormat")
private String getSessionDate(int position) {
    MySession ms = mSessionList.get(position);
    SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");

    Calendar calendar = Calendar.getInstance();
    calendar.set(ms.getStartYear(), ms.getStartMonth(), ms.getStartDay());

    Date startDate = calendar.getTime();


    String durationString = ms.getDurationString();   // Format is "## weeks"
    int i = 0;
    while (Character.isDigit(durationString.charAt(i))) {
        i++;
    }

    int weeks = Integer.parseInt(durationString.substring(0, i));


    calendar.add(Calendar.WEEK_OF_YEAR, weeks);

    return (format.format(startDate) + " - " + format.format(calendar.getTime()));
}
Run Code Online (Sandbox Code Playgroud)

android android-calendar

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