小编cot*_*aws的帖子

有没有办法将TextView设置为大写所有字母的大写?

我希望能够将xml属性或样式分配给一个TextView将在所有大写字母中生成任何文本的属性或样式.

属性android:inputType="textCapCharacters"并且android:capitalize="characters"什么也不做,看起来像是用户输入的文本,而不是TextView.

我想这样做,所以我可以将风格与内容分开.我知道我可以在程序上做到这一点,但我想再次保持内容和代码的风格.

android capitalization textview

227
推荐指数
6
解决办法
18万
查看次数

是否应该通过UI线程访问SharedPreferences?

随着Gingerbread的发布,我一直在尝试一些新的API,其中一个是StrictMode.

我注意到其中一个警告是为了getSharedPreferences().

这是警告:

StrictMode policy violation; ~duration=1949 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=23 violation=2
Run Code Online (Sandbox Code Playgroud)

并且它是为getSharedPreferences()在UI线程上进行的调用而给出的.

是否SharedPreferences真的应该从UI线程访问和更改?

android sharedpreferences android-strictmode

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

如何设置webview的初始缩放/宽度

我试图让WebView具有与Android浏览器类似的行为.浏览器以试图使其宽度适合屏幕的方式打开所有页面.但是,WebView的默认行为是以100%像素比例开始,因此它会在左上角开始放大.

我花了最近几个小时试图找到一种方法让WebView将页面缩放到屏幕,就像在浏览器中一样,但我没有运气.有人找到了实现这个目标的方法吗?

我看到的是一个名为setLoadWithOverviewMode的设置,但它似乎根本没有做任何事情.我还尝试了setInitialScale,但是在不同的屏幕尺寸和网页尺寸上,它们不像浏览器缩放那样优雅.

任何人有任何线索?

谢谢

编辑:布莱恩的方法似乎适用于手机在风景但不是肖像.在肖像中,它很接近,但仍然不适合页面中的整个屏幕.我开始这个赏金,希望有一个确定的方法来获得初始缩放以使页面适合任何方向或屏幕大小的页面宽度.

android scale width webview android-webview

74
推荐指数
4
解决办法
10万
查看次数

当片段被替换并放入后栈(或删除)时,它是否留在内存中?

行为是否类似于活动的工作方式?例如,使用Activities,它的工作原理如下:

活动A启动活动B,而B在屏幕上,如果系统需要,系统可以从内存中删除A. 按下BACK后,A将重新创建到内存中,就像它从未离开过一样.

我已经找到了一个明确的解释,说明片段内存发生了什么,并没有发现任何东西.它的工作方式是否相同?例如:

活动C的布局中包含片段F. 然后,在某些时候F片段G替换,但F保持在其后栈中.

F会在C被杀之前留在内存中还是可以根据需要由系统删除?

真的我要问的是,如果我在一个Activity中有一堆复杂的碎片,我是否会冒内存不足的风险?

memory android view android-fragments android-activity

71
推荐指数
2
解决办法
4万
查看次数

如何在不关闭Executor的情况下等待ThreadPoolExecutor中的所有任务完成?

我无法使用shutdown(),awaitTermination()因为有可能在等待时将新任务添加到ThreadPoolExecutor中.

所以我正在寻找一种方法,等待ThreadPoolExecutor清空它的队列并完成所有任务而不停止在该点之前添加新任务.

如果它有任何区别,这适用于Android.

谢谢

更新:几周后重新访问后,我发现在这种情况下修改后的CountDownLatch对我来说效果更好.我会保留答案标记,因为它更适用于我的要求.

java multithreading android wait threadpoolexecutor

60
推荐指数
3
解决办法
6万
查看次数

如何获得按钮的高度以匹配另一个元素的高度?

我想在EditText旁边放一个按钮,我希望它们的高度匹配.

例如,从内置的Android浏览器:

替代文字

Go按钮与EditText字段的高度相同.我知道我可以在父布局视图中包装这两个视图,并将它们的高度设置为fill_parent,这将使它们匹配.但是,我想这样做而不必给布局一个静态大小.我希望EditText根据字体大小获取所需的任何高度,然后让它旁边的按钮匹配任何可能的高度.

这是否可以使用xml布局?

height layout android match

54
推荐指数
3
解决办法
5万
查看次数

SharedPreferences和线程安全

查看SharedPreferences文档,它说:

"注意:目前这个类不支持跨多个进程使用.这将在以后添加."

所以它本身似乎并不是线程安全的.但是,对commit()和apply()有什么样的保证?

例如:

synchronized(uniqueIdLock){
   uniqueId = sharedPreferences.getInt("UNIQUE_INCREMENTING_ID", 0);
   uniqueId++;
   sharedPreferences.edit().putInt("UNIQUE_INCREMENTING_ID", uniqueId).commit();
}
Run Code Online (Sandbox Code Playgroud)

是否可以保证uniqueId在这种情况下始终是唯一的?

如果没有,是否有更好的方法来跟踪持续存在的应用程序的唯一ID?

android thread-safety sharedpreferences

48
推荐指数
2
解决办法
3万
查看次数

当WebView显示内容时是否有监听器?

使用WebViewClient和/或WebChromeClient,您可以在页面加载时获取侦听器,但是在WebView显示任何内容之前,有时会在WebView中包含任何内容之前调用它.

什么是确定WebView何时显示其内容的有效方法?

编辑:(试图更清楚)

当我在WebView中加载页面时,我想将滚动设置为特定位置.看起来在页面加载之前无法设置滚动位置,并且它具有实际的内容高度.因此,我尝试了两种不同的方法来确定页面何时完成加载,来自WebViewClient的onPageFinished()以及来自WebChromeClient的onProgressChanged().这两个都告诉我页面何时完成加载.

但问题是,有时在页面显示之前调用它,因此页面没有高度,滚动调用什么都不做.

我试图找到一种可靠的方法来确定页面何时可以滚动,即.当它的内容高度.

我想我可以在完成加载后设置一个检查循环,以便在高度可用时继续寻找,但这看起来很像黑客.希望有一种更清洁的方式.

events android listener webview

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

如何从Illustrator(或类似工具)创建Android VectorDrawables?

如果我在Illustrator这样的程序中有矢量图像,我怎样才能使用Android的VectorDrawable框架的正确格式?

我发现了一个将SVG转换为VectorDrawable xml格式的工具:http://inloop.github.io/svg2android/ 但它要求SVG 只使用"path".

任何想法如何输出这样的文件?

svg android android-vectordrawable

36
推荐指数
4
解决办法
3万
查看次数

有没有办法禁用/编辑列表视图边缘的淡入淡出?

可滚动视图(例如ListView)沿着边缘的内容淡出,其中该方向上有更多内容.我怎么能把这个淡化呢?我知道你可以改变cacheColorHint,如下所述:http://developer.android.com/resources/articles/listview-backgrounds.html但这不是我想要的,也不会实现我在寻找的东西案件.

我想完全禁用淡入淡出或者能够减小它的大小和/或透明度.这可能吗?

user-interface android listview fade scrollview

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