我正在处理一些应该能够在我的应用程序中阅读PDF的东西,并且希望将PDF视图放在我的自定义布局中 。 我更喜欢Android PDF Viewer,但是当我执行zoomIn时 , zoomOut需要太多的时间 。 所以目前我应该使用MuPDF开源项目来整合我的项目,它基于JNI ,我不习惯。 我正在使用Cygwin为本机代码构build库。 因此我不清楚几件事情: 如何将MuPDF整合到我的项目中(按照我的问题标题)? 一旦我将成功整合它,那么我怎么能把PDF阅读器放在我的自定义视图中 (在XML或程序devise中)?
想象一下,我在一个已经有后台线程的服务。 我可以在同一个线程中使用抽签方式做一个请求,以便callback同步发生吗? 有两个原因: – 首先,我不需要另一个线程,创build它将是一个浪费。 – 其次,如果我在ServiceIntent中,线程的执行将在callback之前完成,因此我将不会有任何回应。 我知道我可以创build自己的服务,它有一个我可以控制的runloop的线程,但是最好是有这个function。 谢谢!
我正试图弄清楚如何在Facebook应用和Google Hangouts应用上实现表情符号(表情符号)选项。 我查看了Android API示例中的SoftKeyboard Demo应用程序,但是这些表情符号视图的显示看起来不像SoftKeyboard 。 它的外观和行为更像一个自定义的Dialog视图。 有没有人有这些如何实施的想法? Facebook应用程序 Google环聊应用 而且, Unicode是发送表情符号的最佳方式还是有其他select? 我注意到像\u1F601这样的一些Unicode序列不会渲染相应的表情符号,而是这个序列显示为1 : EditText messageInput = (EditText) findViewById(R.id.message_input); messageInput.getText().append("\u1F601");
我需要在Android应用程序中实现水平的ListView。 我做了一些研究,碰到如何在Android中制作水平的ListView? 和Android中的水平ListView? 然而,这些问题在Recyclerview发布之前被问到。 现在有更好的方法来实现这个与Recyclerview?
我有一个简单的ListActivity使用自定义ListAdapter生成列表中的意见。 通常情况下,ListAdapter只是用TextView填充视图,但现在我想在这里放一个button。 但是,我的理解和经验是,在列表项中放置一个可聚焦的视图可以防止在ListActivity单击列表项时触发onListItemClick()。 该button仍然在列表项中正常工作,但是当button以外的东西被按下时,我想onListItemClick被触发。 我怎样才能做这个工作?
大家好, 我有2个关于Android的ListView的问题: 我怎样才能得到列表视图的重点行的颜色? 我试图使用ListView.getSelector()方法,根据其文档应该给我什么,我正在寻找,但它给了我一个Drawable对象,我不知道如何检索颜色(如果可能的话)。 ..)。 我怎样才能设置列表视图的重点行的颜色? 在这里,我尝试在列表视图上使用setSelector()方法,将它传递给一个ColorDrawable对象,但是这样做的结果是列表视图的整个背景被绘成了这种颜色…这不是我想要的当然… 谢谢!
我正在尝试在android中获取常规button的单选button效果 下面我有一个简单的android单选button 代码是 : activity_main.xml中 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" > <RadioButton android:id="@+id/radio0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="RadioButton1" /> <RadioButton android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton2" /> <RadioButton android:id="@+id/radio2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RadioButton3" /> </RadioGroup> </RelativeLayout> 如何自定义如下:: 谢谢 ! [编辑]使用其中一个答案的代码 但是button的名字被select选项遮盖了如何删除它? {EDIT}更多的变化 最终的变化应该atleast我应该知道哪个button我已经从三个单选button中select….是否有可能得到如下?
我得到了一个应用程序TransactionTooLargeException的错误跟踪。 不可复制,以前从未有过。 它在文档中说 粘合剂交易失败,因为它太大了。 在远程过程调用期间,调用的参数和返回值将作为存储在Binder事务缓冲区中的Parcel对象进行传输。 如果参数或返回值太大而不能放入事务缓冲区,则调用将失败,并且将引发TransactionTooLargeException。 … 当远程过程调用引发TransactionTooLargeException时有两种可能的结果。 客户端无法将其请求发送给服务(如果参数太大而无法放入事务缓冲区),或服务无法将其响应发送回客户端(最有可能的情况是返回值为太大而不适合事务缓冲区)。 … 所以,好吧,我正在传递或接收超过某个未知限制的论据。 但是哪里? stacktrace不显示我的文件中的任何内容: java.lang.RuntimeException: Adding window failed at android.view.ViewRootImpl.setView(ViewRootImpl.java:548) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:406) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:320) at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:152) at android.view.Window$LocalWindowManager.addView(Window.java:557) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2897) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$600(ActivityThread.java:139) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:4977) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) Caused by: […]
在Google Cloud Messaging的文档中,它指出: Android应用程序应该存储此ID供以后使用(例如,检查onCreate()是否已经注册)。 请注意,Google可能会定期刷新注册ID,因此您应该devise您的Android应用程序,并了解com.google.android.c2dm.intent.REGISTRATION意图可能会被多次调用。 您的Android应用程序需要能够做出相应的响应。 我使用下面的代码注册我的设备: GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); String regID = gcm.register(senderID); GoogleCloudMessaging类封装注册过程。 所以我想怎么处理com.google.android.c2dm.intent.REGISTRATION由于处理由GoogleCloudMessaging内部完成?
如何摆脱Android SDK API版本21(支持库)的新工具栏中的额外填充? 我正在谈论这张照片上的红色箭头: 这是我正在使用的代码: <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:background="?attr/colorPrimary" android:padding="0dp" android:layout_margin="0dp"> <RelativeLayout android:id="@+id/action_bar_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="0dp" android:padding="0dp" android:background="#000000"> <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout> </Toolbar> 正如你所看到的,我已经把所有相关的填充设置为0,但是Spinner周围仍然有填充。 我做错了什么,或者我需要做些什么来摆脱额外的填充? 编辑有些人质疑我为什么要这样做。 根据材料devise规格,微调器应该从左侧72dp 我需要中和谷歌已经放在那里的填充,以便正确放置我的微调: 编辑2 根据Chris Bane的回答,我将contentInsetStart设置为0.对于支持库,您将需要使用应用程序名称空间: <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:minHeight="@dimen/action_bar_height" android:background="?attr/colorPrimary" android:contentInsetStart="0dp" android:contentInsetLeft="0dp" app:contentInsetLeft="0dp" app:contentInsetStart="0dp" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> </android.support.v4.widget.DrawerLayout> 我希望这有助于某人,这让我困惑了好几天。