我正在使用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)
提前致谢
我正在尝试在浏览器中加载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在双触摸上显示另一条消息.我可以实现它.
我的示例代码如下
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) 我想获取复选框中所选项目的名称.但我只得到一些字母数字.如何从复选框中获取所选项目的名称
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) 我正在处理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。所以我的问题是,

在上图中我想听下箭头(我用红色标记它,用于隐藏键盘的键值).我试图通过菜单选项,视图配置类等来实现它.但它没有用.是否有任何方法,监听器或任何回调事件来跟踪此按钮.请让我知道你的建议和想法.在这方面的任何帮助都非常值得赞赏
提前致谢
我正在使用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应用程序等依赖项,作为替代解决方案).
我想从数据库中获取不同的值.目前我正在使用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)
任何帮助都很明显.