我是以编程方式创建一个TextView,我想在最后省略省略号.
伪代码:
tv.setEllipsize(TextUtils.TruncateAt.END);
tv.setHorizontallyScrolling(false);
tv.setSingleLine();
Run Code Online (Sandbox Code Playgroud)
以上工作很棒.
tv.setEllipsize(TextUtils.TruncateAt.END);
tv.setHorizontallyScrolling(false);
tv.setMaxLines(1);
Run Code Online (Sandbox Code Playgroud)
这不起作用.这是一个错误吗?我不明白为什么在指定maxLines时最后不能将文本转换为省略号,尤其是maxLine为1但是setSingleLine没问题.
我正在将我的项目转换为使用Gradle和内部SonaType Nexus来托管我的依赖项.我的核心项目依赖于库项目A和库项目A依赖于库项目B.
我的问题是,只要我将LibA添加到我的主项目中,我就会收到此错误:"模块版本com.example:LibA:1.1依赖于库但不是库本身"
使用相同的构建脚本添加带有jar依赖项的库项目没有问题.我见过人们用LOCAL(在项目中)成功地做了这个android库,但没有人用maven repos做这件事.
这是gradle中的错误还是我错误配置了库构建?
核心项目建设
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
repositories {
maven {
url "http://localhost:8081/nexus/content/repositories/releases/"
}
maven {
url "http://localhost:8081/nexus/content/repositories/central/"
}
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
}
}
dependencies {
compile 'com.android.support:support-v4:+'
compile('com.example:LibA:1.+')
}
Run Code Online (Sandbox Code Playgroud)
LibA构建
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android-library'
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion …
Run Code Online (Sandbox Code Playgroud) 我需要知道图库中图像的方向(由相机拍摄).我最初的方法是使用适用于我的Droid 1的MediaStore.Images.Media.ORIENTATION.在HTC Thunderbolt上测试时,手机只能将0保存到该字段.
然后我开始阅读exif数据:
ExifInterface exifReader = new ExifInterface(mFilePath);
exifReader.getAttributeInt(ExifInterface.TAG_ORIENTATION, -1);
Run Code Online (Sandbox Code Playgroud)
这也为每个图像返回0.任何人都有关于如何正确获取Android照片的方向的想法?
我以前成功使用过此代码片段,但文件指向SD卡上的某个位置.
final File temp = new File(getCacheDir(), "temp.jpg");
temp.delete();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(temp));
startActivityForResult(intent, CONFIG.Intents.Actions.SELECT_CAMERA_PHOTO);
Run Code Online (Sandbox Code Playgroud)
但是,当我使用getCacheDir而不是SD卡上的loc时,似乎从未保存过照片.这是缓存目录和图像捕获的限制吗?
我正在使用:
android:theme="@android:style/Theme.Translucent.NoTitleBar"
结合:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
要获得漂亮的透明背景模糊效果,请模拟对话框样式.
这在2.3及以下版本中效果很好,但在运行ICS/3.0及更高版本的设备上它是纯色(读取不透明).我知道他们介绍了一个全息主题,似乎没有一个特定的Theme.Holo.Translucent主题.关于如何在ICS和旧版本上获得半透明背景的任何想法,我不反对使用在值-v11中定义的单独主题.
我需要通过网络发送从相机拍摄的图像。图像太大,无法创建使用 bitmap.compress() 所需的位图;看起来 Gmail 应用程序可以附加来自相机的图像,同时保持它们的大像素大小,但大大减小了它们的文件大小。
这行不通,因为我 getBitmap() 将返回一个大的 Image 来分配,我不想将其子采样到更小的尺寸。
ByteArrayOutputStream baos = new ByteArrayOutputStream();
getBitmap().compress(Bitmap.CompressFormat.JPEG, 70, baos);
Run Code Online (Sandbox Code Playgroud)
关于如何在不超过我的总记忆力的情况下做同样的事情的任何想法?
更新:
对于任何回到此线程的人,我都遵循了 Phil 的回答,并使用 Apache MultiPartEntity 轻松完成了工作。(它为您处理从磁盘到网络的流文件)http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html
在 android Activity 中,有没有办法以编程方式列出它已注册的内容?
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
我正在尝试确定当前活动是否为 LAUNCHER。
我有一个复杂的应用程序结构,主项目有android库,它们有自己的android库和jar.
主要项目
为了澄清我有一个android库项目,它有一个ActionBarSherlock依赖和Facebook依赖,我在几个类似的应用程序之间使用这个库项目.
在过去,我只能添加库作为依赖项,它只会构建android相关文件(src/res),但现在它包含了路径中的所有内容(测试,文档,示例文件夹,网站).
我不确定发生了什么变化,但我的apks现在充满了许多我不想要的文件,我不知道在哪里指定不包含它们.
注意:我之所以不能"删除"不需要的文件,是因为我正在使用子模块克隆存储库.
我正在使用IntelliJ Idea 11.1.2和android r20
更新: 这是我遇到的问题的示例项目:http://dl.dropbox.com/u/713581/TestDependency.zip
我的目标是从应用程序中存储到SD卡上的文件中设置用户通知声音.我正在使用此代码:
if(path != null){
File k = new File(path, "moment.mp3");
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "My Song title");
values.put(MediaStore.MediaColumns.SIZE, 215454);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "Some Artist");
values.put(MediaStore.Audio.Media.DURATION, 230);
values.put(MediaStore.Audio.Media.IS_RINGTONE, false);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
values.put(MediaStore.MediaColumns.DISPLAY_NAME, "Some Name");
//Insert it into the database
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
Uri newUri = MainActivity.this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(
MainActivity.this,
RingtoneManager.TYPE_NOTIFICATION,
newUri
);
//RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_NOTIFICATION, newUri);
Toast.makeText(this, "Notification Ringtone Set", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
当我在设备上运行时,我不断收到错误:
06-12 15:19:36.741: ERROR/Database(2847): Error inserting is_alarm=false is_ringtone=false artist_id=35 is_music=false album_id=-1 …
Run Code Online (Sandbox Code Playgroud) android ×9
camera ×2
android-4.0-ice-cream-sandwich ×1
bitmap ×1
build ×1
exif ×1
gmail ×1
gradle ×1
intentfilter ×1
maven ×1
mediastore ×1
memory ×1
orientation ×1
photo ×1
ringtone ×1
textview ×1
themes ×1