我想在EditText被聚焦的时候自动显示软键盘(如果设备没有物理键盘),我有两个问题: 当我的Activity显示,我的EditText被聚焦,但键盘不显示,我需要再次点击它显示键盘(应显示当我的Activity显示)。 而当我点击键盘完成时,键盘是dississed,但EditText保持专注,并不想(因为我的编辑完成)。 为了恢复,我的问题是在iPhone上有更多的东西:保持键盘与我的EditText状态同步(聚焦/不聚焦),当然如果有物理键盘则不会显示软键盘。
如何在Android布局xml文件中定义带下划线的文本?
我想到了一些不太好的方法来解决这个问题,但是我知道我必须错过一些东西。 我的onItemSelected立即启动,没有任何与用户的交互,这是不受欢迎的行为。 我希望用户界面等待,直到用户select一些东西,然后再做任何事情。 我甚至尝试在onResume()设置监听器,希望这会有所帮助,但事实并非如此。 在用户可以触摸控件之前,如何阻止这种情况发生? public class CMSHome extends Activity { private Spinner spinner; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Heres my spinner /////////////////////////////////////////// spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.pm_list, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); }; public void onResume() { super.onResume(); spinner.setOnItemSelectedListener(new MyOnItemSelectedListener()); } public class MyOnItemSelectedListener implements OnItemSelectedListener { […]
我是Android新手。 我想知道Looper类做什么以及如何使用它。 我已阅读Android Looper类文档,但我无法完全理解它。 我曾在很多地方看过,但无法理解它的目的。 任何人都可以通过定义Looper的目的来帮助我,也可以通过给出一个简单的例子,如果可能的话?
我试图改变位于Android操作栏searchview小部件中的drawable。 目前看起来像这样: 但我需要将蓝色背景绘制为红色。 我已经尝试了很多东西,滚动我自己的search部件,但似乎没有任何工作。 有人能指出我改变这个方向吗?
我试图在一个button上添加一个图像(作为背景),并根据运行时发生的情况dynamic添加图像上方/上方的某些文本。 如果我使用ImageButton我甚至没有可能添加文本。 如果我使用Button我可以添加文本,但只能定义一个图像与android:drawableBottom和类似的XML属性定义在这里 。 但是,这些属性只能在x和y维度上结合文本和图像,这意味着我可以在我的文本周围绘制图像,但不能在文本下面/绘图(将z轴定义为显示出来)。 任何build议如何做到这一点? 一个想法是扩展Button或ImageButton并重写draw()方法。 但是就目前的知识水平而言,我并不知道如何去做(2D渲染)。 也许有更多经验的人知道一个解决scheme或至less有一些指针开始?
问题: 尽快获取用户的当前位置,同时节省电量。 为什么问题是一个问题: 首先,android有两个提供者; networking和GPS。 有时networking更好,有时候GPS更好。 通过“更好”我的意思是速度与准确率。 我愿意牺牲几米的准确度,如果我几乎可以立即得到位置而不打开GPS。 其次,如果您请求更新位置更改,则当前位置稳定时不会发送任何内容。 Google有一个确定“最佳”位置的例子: http : //developer.android.com/guide/topics/location/obtaining-user-location.html#BestEstimate 但是我认为这不是接近应该/可能的地方。 我有点困惑,为什么谷歌没有一个规范化的API位置,开发人员不应该关心的位置来自,你应该只是指定你想要的和手机应该为你select。 我需要帮助的是: 我需要find一个确定“最佳”位置的好方法,也许可以通过一些启发式的方法,或者通过一些第三方库。 这并不意味着确定最好的提供者! 我可能会使用所有提供商,并select最好的。 应用程序的背景: 应用程序将以固定的时间间隔收集用户的位置(比方说每隔10分钟左右)并将其发送到服务器。 该应用程序应尽可能节约电量,位置应具有X(50-100?)米精度。 目标是稍后能够在地图上绘制一天中的用户path,所以我需要足够的准确性。 其他: 你认为什么是理想值和接受精度的合理值? 我已经按照要求使用了100米和30米,这个要问多less? 我希望能够稍后在地图上绘制用户的path。 需要的是100米,接受的是500米? 另外,现在我的GPS每个位置更新的最大时间为60秒,如果你在室内的话,这个距离太短,可能是200米的精度? 这是我目前的代码,任何反馈意见(除了没有错误检查是TODO): protected void runTask() { final LocationManager locationManager = (LocationManager) context .getSystemService(Context.LOCATION_SERVICE); updateBestLocation(locationManager .getLastKnownLocation(LocationManager.GPS_PROVIDER)); updateBestLocation(locationManager .getLastKnownLocation(LocationManager.NETWORK_PROVIDER)); if (getLocationQuality(bestLocation) != LocationQuality.GOOD) { Looper.prepare(); setLooper(Looper.myLooper()); // Define a […]
我在我的本地应用程序创build目录。它在Android 5.0中完美工作,但在Android 6.0(棉花糖)有时它的工作有时不是。我使用下面的代码来创build新的目录。我保存video和图像文件在目录中。 public static void createApplicationFolder() { File f = new File(Environment.getExternalStorageDirectory(), File.separator + Config.VIDEO_COMPRESSOR_APPLICATION_DIR_NAME); f.mkdirs(); f = new File(Environment.getExternalStorageDirectory(), File.separator + Config.VIDEO_COMPRESSOR_APPLICATION_DIR_NAME + Config.VIDEO_COMPRESSOR_COMPRESSED_VIDEOS_DIR); f.mkdirs(); f = new File(Environment.getExternalStorageDirectory(), File.separator + Config.VIDEO_COMPRESSOR_APPLICATION_DIR_NAME + Config.VIDEO_COMPRESSOR_TEMP_DIR); f.mkdirs(); }
我从来没有见过这样的事情,我的布局只是在我的设备(Infinix零X506运行Android 4.4.2)弄脏了,但是在模拟器上它显示得很好,我找不出原因,我没有在这里或在Google上看到类似的问题。 我正在使用Android Studio 2.2预览版1下面是一张图片 下面是我的布局xml <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="@dimen/activity_horizontal_margin"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:text="@string/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView" android:textStyle="bold"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textCapSentences" android:hint="@string/enter_title" android:ems="10" android:maxLines="2" android:id="@+id/edName" /> <TextView android:text="@string/to_do_details" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView2" android:textStyle="bold" android:layout_marginTop="10dp"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textMultiLine|textCapSentences" android:ems="10" android:hint="@string/enter_to_do_details" android:id="@+id/edDetails" /> <TextView android:text="@string/select_priority" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView3" android:textStyle="bold" android:layout_marginTop="10dp"/> […]
我是新的android开发。 我有疑问 我知道你可以添加一个button并初始化它 Button b1=(Button) findViewById(R.id.button1); 我也可以在XML文件中给出一个名字。 android:onClick="click_event" 我的疑问是,这是最好的和有效的方式? 就像它说,它更好地使用@string资源,而不是一个硬编码的资源。