小编San*_*ese的帖子

如何在Android中的ObjectAnimator中给出百分比值

我正在使用objectAnimator在Android中从下到上动画一个按钮.现在我使用下面的代码

ObjectAnimator transAnimation = ObjectAnimator.ofFloat(button,"translationY",0,440);
        transAnimation.setDuration(440);
        transAnimation.start();
Run Code Online (Sandbox Code Playgroud)

我也试过下面的示例代码.但问题仍然存在

ObjectAnimator transAnimation = ObjectAnimator.ofFloat(loginLayout, "translationY",0f,0.8f);
                    transAnimation.setDuration(480);
                    transAnimation.start();
Run Code Online (Sandbox Code Playgroud)

它适用于大屏幕设备.但是当谈到小屏幕设备时,它就会离开屏幕.无论屏幕大小不同,我都希望将其保留在屏幕顶部.我想我必须给出百分比值(比如0%到100%或0到100%p).所以我的问题是如何在Android中的objectAnimator中给出百分比值.我还注意到这个objectAnimator只在HoneyComb中引入了一件事.那么是否有任何向后兼容库可以在低版本中运行它.任何人都可以指导我找到解决方案.

我也试过扩展View并为该属性编写getter和setter offset().它仍然没有完全移动到屏幕顶部.这是我用过的代码.

@SuppressLint("NewApi") public float getXFraction()
    {
        int width = context.getWindowManager().getDefaultDisplay().getHeight();
        return (width == 0) ? 0 : (getY());
    }

    @SuppressLint("NewApi") public void setXFraction(float xFraction) {
        int width = context.getWindowManager().getDefaultDisplay().getWidth();
        setY((width > 0) ? (width) : 0);
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢

android android-animation objectanimator

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

如何从ACTION_VIEW Intent中排除特定的应用程序?

我正在尝试在浏览器中加载Twitter URL.

在我的手机中,我已经安装了twitter应用程序.我正在尝试使用ACTION_VIEWintent 打开URL .但是,当我调用intent时,android会显示默认的选择器对话框,其中也包含twitter应用程序(如果它安装在设备上).我想只使用浏览器打开URL.我想从对话框中排除Twitter应用程序.我希望设备中的所有可用浏览器都显示在对话框中,而不是像twitter,facebook等本机应用程序.

有可能吗?如果可能的话,任何人都可以帮助我实现它.为了清楚起见,我还附上了我的代码和截图以及这个问题.

String url = "https://twitter.com";
MimeTypeMap map = MimeTypeMap.getSingleton();
String type = map.getMimeTypeFromExtension(url);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setType(type);
i.setData(Uri.parse(url));
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

android android-intent

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

如何在android中实现双击

我正在做一个项目,其中我想在单点触摸上显示特定消息,并使用android在双触摸上显示另一条消息.我可以实现它.

我的示例代码如下

if(firstTap){
            thisTime = SystemClock.u`enter code here`ptimeMillis();
            firstTap = false;
        }else{
            prevTime = thisTime;
            thisTime = SystemClock.uptimeMillis();

            //Check that thisTime is greater than prevTime
            //just incase system clock reset to zero
            if(thisTime > prevTime){

                //Check if times are within our max delay
                if((thisTime - prevTime) <= DOUBLE_CLICK_MAX_DELAY){

                    //We have detected a double tap!
                    Toast.makeText(AddLocation.this, "DOUBLE TAP DETECTED!!!", Toast.LENGTH_LONG).show();
                    //PUT YOUR LOGIC HERE!!!!

                }else{
                    //Otherwise Reset firstTap
                    firstTap = true;
                }
            }else{
                firstTap = true;
            }
        }
        return false;
Run Code Online (Sandbox Code Playgroud)

android

9
推荐指数
4
解决办法
5万
查看次数

我如何从android中的复选框中获取值

我想获取复选框中所选项目的名称.但我只得到一些字母数字.如何从复选框中获取所选项目的名称

public View getView(int position, View convertView, ViewGroup parent) {
        View view = null;
        if (convertView == null) {
            LayoutInflater inflator = context.getLayoutInflater();
            view = inflator.inflate(R.layout.customlistlayout, null);
            final ViewHolder viewHolder = new ViewHolder();
            viewHolder.text = (TextView) view.findViewById(R.id.label);
            viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
            viewHolder.checkbox
                    .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                        @Override
                        public void onCheckedChanged(CompoundButton buttonView,
                                boolean isChecked) {
                            Model element = (Model) viewHolder.checkbox
                                    .getTag();  

                            element.setSelected(buttonView.isChecked());


    enter code here

              //System.out.println(itemname);
                        }
                    });
            view.setTag(viewHolder);
            viewHolder.checkbox.setTag(list.get(position));
        } else {
            view = convertView;
            ((ViewHolder) view.getTag()).checkbox.setTag(list.get(position));
        }
        ViewHolder holder = …
Run Code Online (Sandbox Code Playgroud)

android

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

以编程方式打开 pdf 文件

我正在处理pdf。我正在尝试使用下面的代码从我的应用程序打开 pdf 文件。但我没能打开。

private void openPdf() {

        File file = new File("mnt/sdcard.test.pdf");
        Uri path = Uri.fromFile(file);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.setAction(Intent.ACTION_VIEW);
        intent.setData(path);
        intent.setType("application/pdf");
        try {
            startActivity(intent);
        } catch (ActivityNotFoundException e) {
            Toast.makeText(getActivity(), "No application found",
                    Toast.LENGTH_SHORT).show();
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我在模拟器中尝试此代码时,它显示一个 toast 说“未找到应用程序”(bcoz,通常模拟器中没有安装 pdf 查看应用程序)。当我在设备中测试相同的东西时(特别是在 funbook 选项卡和 sony 选项卡中),它既不显示 Toast 消息,也不打开 pdf 文件。任何人都可以指出我的代码中的错误。事实上,我是第一次使用 pdf。所以我的问题是,

  1. 在设备中它没有显示 toast 消息,这意味着我的手机中安装了 pdf 查看应用程序?这样对吗?
  2. 如果是这样,为什么不使用第三方应用程序打开 pdf 文件。
  3. 如果我想向用户列出手机中安装的所有 pdf 查看应用程序,我应该对此代码进行哪些更改?

android

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

如何跟踪虚拟键盘中的向下箭头按钮?

在此输入图像描述

在上图中我想听下箭头(我用红色标记它,用于隐藏键盘的键值).我试图通过菜单选项,视图配置类等来实现它.但它没有用.是否有任何方法,监听器或任何回调事件来跟踪此按钮.请让我知道你的建议和想法.在这方面的任何帮助都非常值得赞赏

提前致谢

android softkeys

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

如何在Android/Java中以编程方式创建新的电子表格?

我正在使用Google Spreadsheets API.我坚持想要创建一个新的电子表格.Google电子表格API仅说明了检索已创建的电子表格及其管理(包括单元格内容更新等).他们还列出了可以通过Google文档列表API上传电子表格文件来创建新的电子表格.我已经浏览了Google Documents List API,但我没有找到任何Java文档.他们只提供.Net文档.所以我的问题是"是否有可能以编程方式在Java/Android中创建新的电子表格?".

如果可能的话,任何人都可以引导我找到一个好的链接或博客或一篇文章.这对我很有帮助.

任何帮助将不胜感激 !!

更新:我不是在谈论在本地创建电子表格,而是在谈论通过API调用创建电子表格.以下是我的方案:我想将一些统计信息更新为电子表格.电子表格的名称格式为CURRENT_MONTH-SOME NAME.xls.因此,必须在每个月的月初自动创建电子表格.目前我在做什么,在年初,我将手动创建12个年度电子表格,并在每个月检索相应的电子表格,并根据我的需要插入或删除或修改月份的数据.所以我在这里搜索,我想让这个过程自动化(电子表格应该以编程方式创建.我也不喜欢安装Google Drive应用程序和将文件复制到Google Drive应用程序等依赖项,作为替代解决方案).

java android google-spreadsheet-api

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

如何从ORMlite中选择不同的值?

我想从数据库中获取不同的值.目前我正在使用ORMlite.我试过以下代码.但是当我查询时,我仍然会从中获得重复的值.谁能指出我哪里出错了?我发布下面的示例代码

smsDao = databaseHelper.getSmsDao();
    QueryBuilder<SMSObject, Object> queryBuilder = smsDao.queryBuilder();
    queryBuilder.distinct().selectColumns("timestamp");

    try {
        preparedQuery = queryBuilder.prepare();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    try {
        smsObject = smsDao.query(preparedQuery);
    } catch (SQLException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

任何帮助都很明显.

android ormlite

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