所以我有这个ActivityGroup,其中我展示了2个活动.当我正在切换时我希望有这种过渡效果,当前视图向左滑出屏幕,新视图从右侧进入.这是我的切换代码,假设当前视图是viewA:
Intent i = new Intent(this, ViewA.class);
viewB = getLocalActivityManager().startActivity("viewb", i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
setContentView(viewB);
Run Code Online (Sandbox Code Playgroud)
现在当我执行以下操作时,将显示viewB的背景,并且viewB的内容会滑入,这不是我想要的:
Animation animIn = AnimationUtils.loadAnimation(this, R.anim.righttoleftin);
viewB.startAnimation(animIn);
Animation animOut = AnimationUtils.loadAnimation(this, R.anim.righttoleftout);
viewA.startAnimation(animOut);
setContentView(viewB);
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
实际上,上面的确有效.我有一个问题,我认为viewA被显示,而事实并非如此.
我正在尝试启动模拟器,但我不断收到错误Failed to allocate memory: 8.
有一些解决这个问题的方法,将RAM设置为1024到512,但是当我将它设置为8时,它仍然会因此错误而崩溃!
我该怎么办?
设置屏幕截图:

这里给出了崩溃的模拟器arm.exe的错误消息:
Problem signature:
Problem Event Name: APPCRASH
Application Name: emulator-arm.exe
Application Version: 0.0.0.0
Application Timestamp: 4fe779fb
Fault Module Name: emulator-arm.exe
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4fe779fb
Exception Code: 40000015
Exception Offset: 0014428e
OS Version: 6.1.7600.2.0.0.768.3
Locale ID: 1043
Additional Information 1: ea2b
Additional Information 2: ea2b4716fbf9f89aacc15214fb1537bb
Additional Information 3: 8d2f
Additional Information 4: 8d2f162ccf8522e475fc4fbe036a6efa
Run Code Online (Sandbox Code Playgroud)
我最后一次检查和模拟器工作是在更新到ADT 20之前和删除所有旧的AVD之前.
我有以下结构:
build.gradle
src
- main
- AndroidManifest.xml
- kotlin
- pkg
- MyClass.kt (internal class MyClass)
- test
- kotlin
- pkg
- MyClassTest.kt
Run Code Online (Sandbox Code Playgroud)
在MyClassTest.kt我参考internal class MyClass.
的build.gradle:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
//apply plugin: 'java'
//apply plugin: 'kotlin'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
test.java.srcDirs += 'src/test/kotlin'
}
}
dependencies {
testCompile 'junit:junit:4.12'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
buildscript {
ext.kotlin_version = '1.0.0-beta-2423'
repositories {
mavenCentral()
}
dependencies { …Run Code Online (Sandbox Code Playgroud) 为了简单问题,我在SurfaceView上绘制一个整数,每次绘制增加1.实际上正在增加,正如我在System.out上看到的那样.屏幕上的文字保持为"0".谁能告诉我我做错了什么?
SurfaceViewTest.java
package com.niek.surfaceviewtest;
import android.app.Activity;
import android.os.Bundle;
public class SurfaceViewTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Run Code Online (Sandbox Code Playgroud)
StatusView.java
package com.niek.surfaceviewtest;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class StatusView extends SurfaceView implements SurfaceHolder.Callback {
private int tmp;
private DrawThread drawThread;
public StatusView(Context context, AttributeSet attrs) {
super(context, attrs);
getHolder().addCallback(this);
setFocusable(true);
drawThread = new DrawThread(getHolder());
}
@Override …Run Code Online (Sandbox Code Playgroud) 我想在我的应用中实现搜索,但我不想使用单独的Activity来显示我的搜索结果.相反,我只想使用显示在下面的建议清单SearchView.
我可以用setOnQueryTextListener的SearchView,听的输入和搜索结果.但是如何将这些结果添加到下面的列表中SearchView呢?我们假设我正在搜索List<String>.
我有一个应用程序具有初始激活,列出列表视图中的一些文件.在列表中单击某个项目时,它会将您带到该特定文件的详细活动.
在详细视图中,我有一个名为download的按钮,当您单击下载时,它会启动一个IntentService,它会将要下载的文件设置为:
downloadButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(AppDetailsActivity.this, AppDownloadService.class);
intent.putExtra(Consts.APP_DOWNLOAD_RECEIVER_KEY, new DownloadReceiver(new Handler()));
startService(intent);
}
});
Run Code Online (Sandbox Code Playgroud)
DownloadReceiver类用于更新下载文件详细活动中的进度条.
现在我想做什么......
如果用户当前正在从详细活动中下载文件,然后返回到上一个活动,我希望活动以某种方式订阅/绑定到同一个IntentService并检索结果,以便它可以在列表中显示进度条正在下载的文件的项目.
我目前正在重新编码我的 android 应用程序的大部分后端,以便更紧密地遵循设计指南。目前我正在使用所有活动和零片段。我正在尝试切换到片段以使用滑出导航绘制并最终使用一些滑动选项卡。
对于现在的导航,我有这个下拉菜单,当点击一个项目时会启动一个新的活动:

“您的统计信息”活动有点像主页,用户也将在其中进入应用程序。我还希望用户能够从应用程序的任何位置返回到该“页面”。
我计划运行绘图的活动我有一个名为 fragment_main 的绘图布局:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<FrameLayout
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
<ListView
android:id="@+id/drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#FFF"
android:choiceMode="singleChoice"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
我加载抽屉布局的活动是:
public class MainDraw extends FragmentActivity {
final String[] data ={"one","two","three"};
final String[] fragments ={
"com.beerportfolio.beerportfoliopro.FragmentOne",
"com.beerportfolio.beerportfoliopro.FragmentTwo",
"com.beerportfolio.beerportfoliopro.FragmentThree"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
//todo: load statistics
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActionBar().getThemedContext(), android.R.layout.simple_list_item_1, data);
final DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout);
final ListView navList = (ListView) findViewById(R.id.drawer);
navList.setAdapter(adapter);
navList.setOnItemClickListener(new AdapterView.OnItemClickListener(){ …Run Code Online (Sandbox Code Playgroud) 说我是从动画按钮x=0来x=200使用:
ObjectAnimator animator = ObjectAnimator.ofFloat(button, "x", 0f, 200f);
animator.setInterpolator(new AccelerateDecelerateInterpolator());
animator.start();
Run Code Online (Sandbox Code Playgroud)
现在,当按钮处于x=100,我想取消动画.当我打电话时animator.cancel(),按钮突然停止.我想要实现的是x价值逐渐减慢(有点像a DecelerateInterpolator),并且整齐地停下来,比如说x=120.
当然,我可以cancel()动画并启动一个新的减速动画师.但是,这不会考虑按钮的当前速度,从而导致奇怪的行为.
我该怎么做?
我正在使用Crashlytics,它提供了一个自定义的Maven网址.我正在尝试将Crashlytics代码移动到库中.
库build.gradle文件如下:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
repositories {
mavenCentral()
maven { url 'http://download.crashlytics.com/maven' }
}
dependencies {
compile 'com.crashlytics.android:crashlytics:1.+'
}
Run Code Online (Sandbox Code Playgroud)
在自己构建这个库项目时,一切顺利.但是,当我将库作为依赖项添加到另一个项目时,只有当我将自定义maven url添加到其中时,gradle sync才会成功build.gradle.否则,将显示以下消息:
Error:A problem occurred configuring project ':MyApp'.
> Could not resolve all dependencies for configuration ':MyApp:_debugCompile'.
> Could not find any version that matches com.crashlytics.android:crashlytics:1.+.
Required by:
my-app:MyApp:unspecified > my-app:MyLibrary:unspecified
Run Code Online (Sandbox Code Playgroud)
为什么我还需要添加maven { url 'http://download.crashlytics.com/maven' }到MyApp项目中?有更好的解决方案吗?
我的活动,片段,服务和BroadcastReceivers我想实现ProGuard,以保证课堂安全.我在Proguard时遇到错误.我该怎么写入文件? - > proguard-android.txt ve proguard-rules.pro
我写进了年级.
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Run Code Online (Sandbox Code Playgroud)
-
Information:Gradle tasks [:app:assembleRelease]
:app:preBuild UP-TO-DATE
:app:preReleaseBuild UP-TO-DATE
:app:compileReleaseNdk UP-TO-DATE
:app:checkReleaseManifest
:app:preDebugBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42103Library UP-TO-DATE
:app:prepareComGithubNavasmdcMaterialDesign14Library UP-TO-DATE
:app:prepareDeKeyboardsurferAndroidWidgetCrouton185Library UP-TO-DATE
:app:prepareReleaseDependencies
:app:compileReleaseAidl UP-TO-DATE
:app:compileReleaseRenderscript UP-TO-DATE
:app:generateReleaseBuildConfig UP-TO-DATE
:app:generateReleaseAssets UP-TO-DATE …Run Code Online (Sandbox Code Playgroud) android ×10
animation ×1
butterknife ×1
gradle ×1
java ×1
kotlin ×1
ondraw ×1
proguard ×1
search ×1
surfaceview ×1