Questions tagged «android»

Android是Google的移动操作系统,用于对数字设备(智能手机,平板电脑,汽车,电视,Wear,Glass和IoT)进行编程或开发。对于与Android相关的主题,请使用特定于Android的标签,例如android-intent,android-activity,android-adapter等。对于与开发或编程无关但与Android框架相关的问题,请使用以下链接:https:// android.stackexchange.com。

11
如何获取视图的绝对坐标
我正在尝试获取视图左上角的绝对屏幕像素坐标。但是,我可以找到的所有方法,例如getLeft()和getRight()都不起作用,因为它们似乎都与视图的父项有关,因此给了我0。正确的方法是什么? 如果有帮助,则用于“按顺序放回图片”游戏。我希望用户能够绘制一个框来选择多个片段。我的假设是,做到这一点的最简单方法是getRawX(),并getRawY()从MotionEvent再与之比较的布局保持件的左上角的值。知道了碎片的大小之后,我可以确定选择了多少碎片。我意识到我可以在上使用getX()和,但是那样会返回一个相对位置,这使得确定选择哪些作品更加困难。(我知道这不是没有可能,但似乎不必要地复杂)。getY()MotionEvent 编辑:根据问题之一,这是我用来尝试获取保存容器大小的代码。TableLayout是容纳所有拼图的桌子。 TableLayout tableLayout = (TableLayout) findViewById(R.id.tableLayout); Log.d(LOG_TAG, "Values " + tableLayout.getTop() + tableLayout.getLeft()); 编辑2:这是我尝试过的代码,遵循更多建议的答案。 public int[] tableLayoutCorners = new int[2]; (...) TableLayout tableLayout = (TableLayout) findViewById(R.id.tableLayout); tableLayout.requestLayout(); Rect corners = new Rect(); tableLayout.getLocalVisibleRect(corners); Log.d(LOG_TAG, "Top left " + corners.top + ", " + corners.left + ", " + …

8
获取上下文的各种方法之间有什么区别?
在各种Android代码中,我已经看到: public class MyActivity extends Activity { public void method() { mContext = this; // since Activity extends Context mContext = getApplicationContext(); mContext = getBaseContext(); } } 但是,我找不到哪种比较合适的解释,在哪种情况下应该使用哪种解释。 我们将不胜感激有关此文档的指针以及有关如果选择了错误的内容可能会破坏的指南。

29
从Mediastore的URI获取文件名和路径
我onActivityResult从媒体存储库中选择了一个图片,可以使用以下命令获取图片的URI: Uri selectedImage = data.getData(); 将其转换为字符串可以得到: content://media/external/images/media/47 或路径给出: /external/images/media/47 但是我似乎找不到一种将其转换为绝对路径的方法,因为我想将图像加载到位图中,而不必将其复制到某个地方。我知道可以使用URI和内容解析器来完成此操作,但是这似乎在重新启动电话时就中断了,我想MediaStore重新启动之间的编号不会保持相同。


11
更改应用程序的启动活动
我已经创建了应用程序的内容,但是我想添加一个不同的活动作为起点(类似于登录屏幕)。 几个问题: 1对于如何在活动之间进行切换,我有相当不错的了解(根据本文:http : //www.linux-mag.com/id/7498),但是我不确定如何创建一个新活动(蚀)。 2创建新活动后,如何将其设置为应用程序的默认活动? 我想我可以更改类的名称...但是有没有更优雅的方式来处理(也许在AndroidManifest.xml)呢?



21
以编程方式设置微调器的选定项目
我正在开发一个android项目,正在使用一个微调器,该微调器使用从数据库填充的阵列适配器。 我找不到从列表中以编程方式设置所选项目的方法。例如,如果在微调器中我具有以下各项: 第1类 2类 第3类 创建屏幕时,我将如何以编程方式将Category 2选为所选项目。我以为它可能类似于c#IE Spinner.SelectedText =“ Category 2”,但似乎没有任何类似于Android的方法。
384 android  spinner 

16
EditText的首字母大写
我正在开发一个个人待办事项清单应用程序,到目前为止,一切都工作得很好。我想找出一个小怪癖。每当我要添加新项目时,我都会在对话框中显示一个EditText视图。当我选择EditText视图时,键盘会出现输入文字的信息。在大多数应用程序中,默认值似乎是按住Shift键用于第一个字母...尽管对于我而言,它不是这样做的。必须有一种简单的方法来修复,但是我反复搜索了引用,但找不到它。我认为适配器必须有一个xml属性供引用加载,但是我找不到它的含义。


30
找不到与包名称匹配的客户端(Google Analytics(分析))-多个productFlavors和buildTypes [关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 去年关闭。 内容: 我正在尝试为我的应用设置Google Analytics(分析)。(具有4个自定义功能,buildTypes并且不止几个productFlavors) 当我选择了它工作正常,Build Variant它具有applicationId设置为com.my.app.package.name(生成时使用的包名google-services.json)。但是,我的其他口味具有不同的applicationIds。 我按照官方的devguide进行了设置。 当选择了另一个构建变体Build Variants Tab(具有不同的applicationId(程序包名称)时,出现以下错误: 错误:任务':app:processAllcategoriesDebugfreeGoogleServices'的执行失败。 找不到与包名称'com.my.app.package.name.debug'匹配的客户端 错误消息说明: 在上面错误消息中的任务名称中,这Debugfree是我的自定义内容buildType,Allcategories也是我的其中一项productFlavors。 我理解该错误,并且知道包名称与生成json时使用的包名称不同,但这就是我试图解决的方法。 问题: 现在,这些google-services.json驻留在app文件夹中,因此我无法通过将它们放入特定于风味的源集文件夹中来针对每种产品风味将它们分开。 问题: 我byildType用于调试的自定义后缀.debug为applicationId(程序包名称)。有什么办法可以使它与google-services.json已发布的版本一起工作applicationId(即没有后缀.debug) 有没有一种方法可以在同一google-services.json文件中配置多个产品风味,而无需使用单独的文件和任务将所需的文件复制到app文件夹。我知道这是可以做到用task作为中提到的这个帖子。是否有更简单的方法来基于gradle配置仅拥有一个文件或选择正确的文件? 我看到其中的package_name字段google-services.json具有包名称com.my.app.package.name。我可以手动添加多个软件包名称以适用于所有构建版本吗?如果是,该怎么做?在文档中找不到任何说明。

15
从历史记录堆栈中删除活动
我的应用程序在用户首次运行该应用程序时显示一个注册活动,如下所示: ActivitySplashScreen(欢迎使用游戏,注册一个帐户?) ActivitySplashScreenSignUp(很好,请填写此信息) ActivityGameMain(主游戏屏幕) 因此,当用户单击每个屏幕上的按钮时,活动将以完全相同的顺序彼此启动。 当用户从活动#2转到#3时,是否有可能彻底清除历史记录堆栈中的#1和#2?我希望这样,如果用户位于#3,然后单击“后退”按钮,则他们只是转到主屏幕,而不是返回初始屏幕。 我想我可以通过任务来完成此任务(例如,在#3上开始新任务),但想看看是否有更简单的方法, 谢谢

13
处理程序与AsyncTask与线程[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 10个月前关闭。 我得到了稍微感到困惑之间的差异Handlers,AsyncTask并Threads在Android中。我已经在StackOverflow上阅读了很多博客和问题。 Handler是提供您与UI进行通信的后台线程。例如,更新进度条应通过进行Handler。使用处理程序具有的优势MessagingQueues,因此,如果您要计划消息或更新多个UI元素或具有重复任务。 AsyncTask相似,实际上,它们使用Handler,但没有在UI线程中运行,因此对于获取数据(例如获取Web服务)非常有用。稍后,您可以与UI进行交互。 Thread但是不能与UI交互,提供更多的“基本”线程,您会错过的所有抽象AsyncTask。 但是,我想在服务中运行套接字连接。应该在处理程序,线程还是什至是线程中运行它AsyncTask吗?完全不需要UI交互。我使用的性能是否有所不同? 同时,文档已得到重大改进。

8
Google Play应用说明格式
我制作了一个可在Google Play上使用的Android应用程序。现在,我想在我的应用程序说明中添加更多格式(例如,缩进,链接,列表..)。但是我找不到列出可能的格式的任何网站。Google帮助页面在这个问题上也无法帮助我。存在许多不同的格式,我真的不知道要使用哪种格式(例如HTML或Wiki格式。) 我可以通过反复试验来测试它,但这会花费一些时间,因为Google Play仅在2-3小时后刷新。在测试时,如果使用了错误的格式,则我的应用程序描述将非常难看。 tl; dr是否有我可以在Google Play的应用说明中使用的所有可能格式的列表?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.