我的要求是,只要视图的总高度大于列表的允许高度,就会显示带有滚动条的垂直视图列表.
另外,我需要以编程方式自定义scrollBar外观(背景和拇指).(在运行时,我的活动将接收进行渲染的所有数据:用作滚动条背景的位图,滚动条宽度和用作滚动条拇指的位图.)
A ListView似乎是一个很好的选择,除了我找不到以编程方式自定义scrollBar的方法.我在listView中读了这个问题scrollBar ...自定义它.但是,它正在使用一个主题,而AFAIK则不可能以编程方式创建一个新主题.
所以我的问题:
有没有办法以编程方式自定义滚动条(在ListView中)的外观?
[只有当第一个答案是"明确不可能"时]你是否看到任何其他方式来实现这些要求(以及一些这样做的工作示例)
谢谢.
编辑(23/12)
我找到了这个隐藏的课程android.widget.ScrollBarDrawable.可能是构建解决方案的良好起点(现在没时间对其进行调查).
我在javascript中将文件上传到aws s3,而AFAIK他们都需要mimetype才能正常运行.是否有一个脚本可以自动将文件名映射到我可以使用的mimetypes?
编辑:如果亚马逊有办法自动处理更好的mimetypes.
我尝试在手机上手动安装apk(由IntelliJ构建)(运行Android 4.0.4的GT-B5330).
看着logcat,我找到了那些日志:
01-25 10:55:15.668: INFO/ApplicationPolicy(1448): isApplicationInstallationEnabled
01-25 10:55:15.668: WARN/PackageManager(1448): verifying app can be installed or not
01-25 10:55:15.748: INFO/SurfaceFlinger(1216): id=3872 Removed idx=3 Map Size=4
01-25 10:55:15.748: INFO/SurfaceFlinger(1216): id=3872 Removed idx=-2 Map Size=4
01-25 10:55:16.148: DEBUG/dalvikvm(1448): GC_EXPLICIT freed 744K, 34% free 13115K/19655K, paused 5ms+11ms
01-25 10:55:16.148: DEBUG/InstallAppProgress(22326): Installation error code: -103
Run Code Online (Sandbox Code Playgroud)
我试图找到这个错误代码-103的含义,但我没有找到任何东西.
我想知道什么是错的,我该如何解决/调查这个问题?
注意 :
我错过了一些明显的东西吗 其他安全设置要改变?
任何帮助将非常感激.
这个问题是对此问题的跟进:JPA ConstraintViolation vs Rollback
我做了一些关于JPA和验证API(JSR-303)组合的测试.
我在JPA规范中找到了以下内容(第101-102页):
默认情况下,默认Bean验证组(组默认值)将根据预先持久化和更新前的生命周期验证事件进行验证
...
如果validate方法返回的ConstraintViolation对象集不为空,则持久性提供程序必须抛出包含对返回的ConstraintViolation对象集的引用的javax.validation.ConstraintViolationException,并且必须将事务标记为回滚.
我设置了以下测试:
NameNotNullWithDefaultGeneratedStrategy具有使用默认策略(@Generated)和@NotNull String name列生成的id的实体NameNotNullWithTableGeneratedStrategy具有使用表策略(@TableGenerated)和@NotNull String name列生成的id的另一个实体persist使用null的每个实体的一个实例name.javax.validation.ConstraintViolationException由持久化方法抛出,并且事务标记为rollback only(即这些假设基于本文中引用的JPA规范).结果是:
persist方法javax.validation.ConstraintViolationException为两个实体抛出一个.rollback only在两种情况下都标记为persist抛出一个标记为的javax.validation.ConstraintViolationException实体NameNotNullWithDefaultGeneratedStrategy+事务rollback onlypersist不要将实体NameNotNullWithTableGeneratedStrategy+事务的任何异常都标记为rollback onlycommit对于NameNotNullWithTableGeneratedStrategy失败,并RollbackException问题是:
我正在编写一个小的node.js应用程序,它从HTML表单接收多部分POST并将传入的数据传递给Amazon S3.的强大的模块提供了多部分解析,露出各部分作为节点流.该诺克斯模块处理PUT到S3.
var form = new formidable.IncomingForm()
, s3 = knox.createClient(conf);
form.onPart = function(part) {
var put = s3.putStream(part, filename, headers, handleResponse);
put.on('progress', handleProgress);
};
form.parse(req);
Run Code Online (Sandbox Code Playgroud)
我通过socket.io向浏览器客户端报告上传进度,但是很难获得这些数字以反映节点上传到s3的真实进度.
当浏览器到节点上传瞬间发生时,就像节点进程在本地网络上运行时一样,进度指示器立即达到100%.如果文件很大,即300MB,则进度指示器缓慢上升,但仍然比我们的上游带宽允许的速度快.在达到100%进度后,客户端然后挂起,大概等待s3上传完成.
我知道在内部putStream使用Node的stream.pipe方法,但我不明白这是如何工作的细节.我的假设是节点尽可能快地吞噬输入数据,将其丢入内存.如果写入流可以足够快地获取数据,则很少有数据一次保存在存储器中,因为它可以被写入和丢弃.如果写入流速度很慢,就像在这里一样,我们可能必须将所有传入数据保留在内存中,直到可以写入为止.由于我们正在侦听data读取流上的事件以便取得进展,因此我们最终报告上传速度比实际速度快.
我对这个问题的理解是否接近标记?我该怎么办呢?我需要坐下来脏write,drain和pause?
我今天安装了android工作室,我遇到了SDK管理器的问题:

我已按照本指南操作:http: //developer.android.com/sdk/installing/adding-packages.html
当我安装 -
ARM EABI v7a系统映像
我收到这个错误.我试图禁用防病毒,但它仍然无法正常工作.
希望得到答案,谢谢.
昨天谷歌宣布现在可以使用此版本的Android Studio进行本机代码调试.
https://plus.google.com/+AndroidDevelopers/posts/2Gk6yrZKV4X
我已更新到最新的构建版本"AI-141.1962279",并且看不到调试本机代码的任何可能性.
我已经切换到build-tools 23.0-rc1,使用了gradle插件1.3.0-beta1但是无法在本机代码中设置断点或者进入JNI调用.
它真的有效吗?
我正在使用knox模块来https://github.com/LearnBoost/knox为S3上的文件创建签名URL,这是我以前用PHP SDK完成的.
我可以从我的存储桶中删除文件,但是当我尝试为具有私有ACL的文件生成URL时,我收到了SignatureDoesNotMatch错误.
代码看起来像这样
var knox = require('knox');
var s3Client = knox.createClient({
key: '*****',
secret: '*****',
bucket: '*****'
});
function getS3Url(filename) {
var expires = new Date();
expires.setMinutes(expires.getMinutes() + 30);
return s3Client.signedUrl(filename, expires);
}
console.log(getS3Url('file.txt'));
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我试图获得当前wifi连接的信号强度 getRssi()
private void checkWifi(){
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo Info = cm.getActiveNetworkInfo();
if (Info == null || !Info.isConnectedOrConnecting()) {
Log.i("WIFI CONNECTION", "No connection");
} else {
int netType = Info.getType();
int netSubtype = Info.getSubtype();
if (netType == ConnectivityManager.TYPE_WIFI) {
wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getLinkSpeed();
int rssi = wifiManager.getConnectionInfo().getRssi();
Log.i("WIFI CONNECTION", "Wifi connection speed: "+linkSpeed + " rssi: "+rssi);
//Need to get wifi strength
}
}
}
Run Code Online (Sandbox Code Playgroud)
事情是我得到像-35或-47等数字...我不明白他们的价值观..我已经看了android文档及其所有状态:
public int getRssi()
从以下版本开始:API Level 1返回当前802.11网络的接收信号强度指示符.
这不是规范化的,但应该是!
返回RSSI,范围是??? 至 …
这是我在设备上安装应用程序时看到的内容(我使用的是Android Studio 0.8.2):
Waiting for device.
Target device: samsung-gt_s7500-cf994b04
Uploading file
local path: C:\Users\Administrator\AndroidStudioProjects\Testaqua\app\build\outputs\apk\app-debug.apk
remote path: /data/local/tmp/com.example.administrator.testaqua
Installing com.example.administrator.testaqua
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.administrator.testaqua"
pkg: /data/local/tmp/com.example.administrator.testaqua
Failure [INSTALL_FAILED_INVALID_URI]
Run Code Online (Sandbox Code Playgroud)
七个地狱中的错误是什么意思?
[编辑]我在另一个root设备上安装了我的应用程序,它运行良好; 看来问题是我的设备,android studio运行正常.
android ×5
node.js ×3
amazon-s3 ×2
android-ndk ×1
android-wifi ×1
apk ×1
eclipselink ×1
formidable ×1
hibernate ×1
java ×1
javascript ×1
jpa ×1
scrollbar ×1