点击自定义条形图(使用MPAndroidChart创建)后,我正在绘制工具提示.视图层次结构如下
<LinearLayout>
<TextView text=Move & Max Pain/>
<RelativeLayout with 2 textviews>
<chart
clipToChildren=false
clipToPadding=false
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
虽然View位于Chart或其中间兄弟中,但外观看起来很好.但是当它与它的兄弟碰撞时,工具提示被截断了

使用HierarchyViewer我可以看到内容存在,但它没有被绘制.
为了获得剪辑,我在draw中使用了这个代码
@Override
public void draw(Canvas canvas, float posx, float posy) {
// take offsets into consideration
posx += getXOffset();
posy += getYOffset();
canvas.save();
// translate to the correct position and draw
canvas.translate(posx, posy);
Rect clipBounds = canvas.getClipBounds();
clipBounds.inset(0, -getHeight());
canvas.clipRect(clipBounds, Region.Op.INTERSECT);
draw(canvas);
canvas.translate(-posx, -posy);
canvas.restore();
}
Run Code Online (Sandbox Code Playgroud)
如果我将Op更改为Region.Op.Replace,则工具提示会正确绘制,但它会替换工具栏内容,而不是在其下滚动.

我试图定义一个buildConfigVariable取决于香精 + buildType.理想情况下,这就是我想要的
productFlavors {
strawberry {
buildConfigField "String", "WS_API_KEY", name + variant.buildType.name
}
... more flavors ..
}
Run Code Online (Sandbox Code Playgroud)
name确实包含"strawberry",但我不知道是否可以访问variant的buildType.
放置在Android闭包之外我可以访问BuildType和变体,但后来我无法调用buildConfigField
android.applicationVariants.all { variant ->
println "****************************"
println "variant: ${variant.name}"
println "flavor: ${variant.flavorName}"
println "****************************"
if (variant.buildType.name == 'release') {
if (variant.flavorName == 'strawberry') {
buildConfigField "String", "WS_API_KEY", '"strawberry_release"'
} else {
buildConfigField "String", "WS_API_KEY", '"chocolate_release"'
}
} else if(variant.buildType.name == 'debug') {
if …Run Code Online (Sandbox Code Playgroud) 我花了一个多小时试图让UB在Ubuntu 11.04上检测到我的中兴V9 .这不是权限问题,adb设备根本不打印任何内容
List of devices attached
Run Code Online (Sandbox Code Playgroud)
USB调试已开启
这就是我的android规则的样子
/etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2:0083" SYMLINK+="android_adb", MODE="0666" GROUP="plugdev" TEST=="/var/run/ConsoleKit/database", \ RUN+="udev-acl --action=$env{action} --device=$env{DEVNAME}"
Run Code Online (Sandbox Code Playgroud)
这是lsusb的输出
Bus 002 Device 008: ID 19d2:0083 ONDA Communication S.p.A.
Bus 002 Device 004: ID 046d:c01e Logitech, Inc. MX518 Optical Mouse
...
Run Code Online (Sandbox Code Playgroud)
编辑android.rules后,我重新启动了udev并重新启动了adb.
我已尝试过对此udev规则的几处修改.我也尝试使用99-android.rules而不是51,但没有任何改变.
然后,我尝试手动编辑./android/adb_usb.ini,在我的编辑后看起来像这样
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x19d2
Run Code Online (Sandbox Code Playgroud)
但是,仍然没有检测到该设备.
到目前为止,我已经开发出三星Galaxy …
为了避免以纯文本形式写入密钥库密码,我正在尝试为android Gradle插件创建的assembleRelease任务添加依赖项.
我已经检查了Gradle文档操作现有任务但我无法将依赖项放在应该的位置
这是我的任务,在android插件上方的$ root $/myApp/build.gradle中定义.
task readPasswordFromInput << {
def console = System.console()
ext.keystorePassword = console.readLine('\n\n\n> Enter keystore password: ')
}
apply plugin: 'android'
Run Code Online (Sandbox Code Playgroud)
然后,我尝试了Gradle提供的两种可能性:task.dependsOn和task.doFirst,但没有一种可行.后者似乎被忽略了,而dependsOn确实添加了依赖,但在依赖链中却来得太晚了.运行./gradlew任务 - 都会打印出来
:assembleRelease - Assembles all Release builds [libs:ActionBarSherlock:bundleRelease, libs:DataDroid:bundleRelease, libs:SlidingMenu:bundleRelease]
:compileRelease
...
[SEVERAL TASKS]
...
:packageRelease
...
[SEVERAL TASKS]
...
:readPasswordFromInput
Run Code Online (Sandbox Code Playgroud)
问题是,任务packageRelease中需要密钥库密码
正如旁注,这是我想要的
buildTypes {
release {
def console = System.console()
ext.keystorePassword = console.readLine('\n\n\n> IF …Run Code Online (Sandbox Code Playgroud) 使用Robolectric 2.3-SNAPSHOT,我想测试一个在后台执行请求的对象.为了隔离它,我试图模拟返回的HttpResponse,在投入几个小时后没有成功.
我创建了一个任何人都可以克隆的项目.模拟运行./gradlew检查 https://github.com/Maragues/RobolectricDummyProject(git clone https://github.com/Maragues/RobolectricDummyProject.git)
我试过了
Robolectric.setDefaultHttpResponse(200,"my_mocked_word");
MockWebServer(https://code.google.com/p/mockwebserver/)
但测试失败是因为他们查询真实的URL
private static final String MOCKED_WORD = "MOCKED";
@Test
public void mockedRequestUsingMockServer() throws Exception {
mMockWebServer.enqueue(new MockResponse().setBody(MOCKED_WORD));
mMockWebServer.play();
Robolectric.getFakeHttpLayer().interceptHttpRequests(false);
Robolectric.getFakeHttpLayer().interceptResponseContent(false);
String result = request.loadDataFromNetwork();
assertEquals(MOCKED_WORD, result);
}
@Test
public void mockedRequestUsingRobolectric() throws Exception {
Robolectric.setDefaultHttpResponse(200, MOCKED_WORD);
String result = request.loadDataFromNetwork();
assertEquals(MOCKED_WORD, result);
}
Run Code Online (Sandbox Code Playgroud)
执行请求的代码
public String loadDataFromNetwork() throws Exception {
// With Uri.Builder class we can build our url is a safe manner
Uri.Builder uriBuilder = Uri.parse("http://robospice-sample.appspot.com/reverse").buildUpon(); …Run Code Online (Sandbox Code Playgroud) 我正在使用SlidingMenu和Crouton,但我发现滑动菜单与crouton通知重叠

我会在github中报告一个问题,但我不知道bug在哪里.
Cyril Mottier在他的Prixing文章中提到了布局通知存在3个上下文,左侧菜单本身就有一个上下文.这样,通知就会与其他内容一起滑动.

因为SlidingMenu和Crouton都使用Activity Context,也许这根本不可修复.我们可以轻松打电话
Crouton.cancelAllCroutons();
Run Code Online (Sandbox Code Playgroud)
在显示SlidingMenu之前,我喜欢Prixing的滑出功能.
希望图书馆的作者可以声称这个错误或对它有所了解.
谢谢!
编辑:
我通过创建对象并将其附加到活动来使用SlidingMenu
private void configureSideMenu() {
mSlidingMenu = new SlidingMenu(this);
mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
mSlidingMenu.setFadeDegree(0.35f);
mSlidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
mSlidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
mSlidingMenu.setMenu(R.layout.menu_frame);
getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, new MySideMenuFragment()).commit();
}
Run Code Online (Sandbox Code Playgroud)
而Crouton,我想只有一种方法可以使用它
Crouton.showText(this, R.string.error_not_logged_in, Style.ALERT);
Run Code Online (Sandbox Code Playgroud)
当这是这两种情况下相同的活动
我有一个在Eclipse中构建好的项目,但在执行"ant debug"时会抛出ZipException.输出如下(路径和项目名称除外)
-dex:
[dex] Converting compiled files and external libraries into /home/.../Android/[folder]/bin/classes.dex...
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] java.util.zip.ZipException: error in opening zip file
[dx] at java.util.zip.ZipFile.open(Native Method)
[dx] at java.util.zip.ZipFile.<init>(ZipFile.java:131)
[dx] at java.util.zip.ZipFile.<init>(ZipFile.java:148)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:206)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:418)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:206)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:174)
[dx] at com.android.dx.command.Main.main(Main.java:95)
[dx] 1 error; aborting
BUILD FAILED
/home/.../android-sdk-linux_x86/tools/ant/build.xml:818: The following error occurred while executing this line:
/home/.../android-sdk-linux_x86/tools/ant/build.xml:820: The following error occurred while executing …Run Code Online (Sandbox Code Playgroud) 我正在创建一个显示经常变化的值的网格.因此,我正在使用TextView,当其内容发生变化时自动调整(自动缩放TextView Text以适应Bounds内).调整大小发生,但视图布局不正确

问题是,当我使用HierarchyViewer检查活动时,布局会显示我想要的内容.

我的猜测是HierarchyViewer在视图上调用requestLayout()或invalidate(),但我已经尝试过但没有成功.此代码在主活动中调用,但不起作用.
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getWindow().getDecorView().requestLayout();
getWindow().getDecorView().invalidate();
}
}, 5000);
Run Code Online (Sandbox Code Playgroud)
我也尝试在调整大小后使视图无效.
TextView将重力设置为中心,如果没有调整大小,它看起来没问题.
任何提示都将受到欢迎,谢谢!
我正在尝试使用Google Play服务生成的意图来选择Google帐户
private void showGoogleAccountPicker() {
Intent googlePicker = AccountPicker.newChooseAccountIntent(null, null,
new String[] { GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE }, true, null, null, null, null);
startActivityForResult(googlePicker, PICK_ACCOUNT_REQUEST);
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
if (requestCode == PICK_ACCOUNT_REQUEST && resultCode == RESULT_OK) {
String accountName = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
Log.d(TAG, "Account Name=" + accountName);
}
}
Run Code Online (Sandbox Code Playgroud)
该对话框显示我的Google帐户以及创建新帐户的选项.

如果我选择"添加帐户"选项,我已正确地重定向到帐户创建向导,但如果我选择现有帐户并单击"确定",则对话框将关闭,但它永远不会返回到活动
Logcat只打印此行.我认为它没有任何关系.
W/IInputConnectionWrapper(23576): showStatusIcon on inactive InputConnection
Run Code Online (Sandbox Code Playgroud)
来源
http://gmariotti.blogspot.com.es/2013/03/snippet-google-picker-account.html http://developer.android.com/reference/com/google/android/gms/common/AccountPicker.html
运行我的应用程序的模糊版本会引发以下堆栈跟踪
java.lang.RuntimeException: Unable to create service com.mycompany.myapp.async.alarms.AlarmIntentService: java.lang.IllegalStateException: Errors creating object graph:
dagger.Lazy could not be bound with key dagger.Lazy required by dagger.Lazy com.mycompany.scheduler.c.mNotificationDisplayer
Run Code Online (Sandbox Code Playgroud)
如果我添加-dontobfuscate,它会顺利运行
这是包含该字段的类
public abstract class AbstractAlarmSchedulerService extends IntentService {
@Inject
Lazy<AbstractAlarmSchedulerNotificationDisplayer> mNotificationDisplayer;
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中从这个类扩展,但它属于一个外部库.
这些是我的匕首计划规则,复制自/sf/answers/1272424401/
#Dagger
-keepattributes *Annotation*
-keepclassmembers,allowobfuscation class * {
@javax.inject.* *;
@dagger.* *;
<init>();
}
-keep class * extends dagger.internal.Binding
-keep class * extends dagger.internal.ModuleAdapter
-keep class **$$ModuleAdapter
-keep class **$$InjectAdapter
-keep class **$$StaticInjection
-keep class dagger.* { *; }
-keep class javax.inject.* …Run Code Online (Sandbox Code Playgroud) 我有一个320x480的图像,我想要适合整个屏幕.这是main.xml代码
<ImageView xmlns:android="http://schemas.android.com/apk/res/android">
android:id='@+id/splash_medium'
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/wallpaper320x480"
/>
Run Code Online (Sandbox Code Playgroud)
屏幕显示图像,但左侧和右侧有一个相当大的填充,顶部和底部有一点点填充.我已经尝试将android:padding设置为0dip但没有结果.
链接到图片,我还不能发布图片:截图
任何帮助,将不胜感激.