在我从一个node.js版本切换到另一个n模块 - https://github.com/visionmedia/n/后,我的npm被打破了......
MacBook-Pro-Dmitri:~ dmitri$ npm --version
module.js:340
throw err;
^
Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at /usr/local/bin/npm:19:11
at Object.<anonymous> (/usr/local/bin/npm:87:3)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
Run Code Online (Sandbox Code Playgroud)
然后我再次安装npm,因为它在这里建议 - https://github.com/visionmedia/n/issues/101
curl https://npmjs.org/install.sh | sh
Run Code Online (Sandbox Code Playgroud)
npm开始工作..
但后来我为节点版本做了另一个开关:
n 0.8.22
Run Code Online (Sandbox Code Playgroud)
和npm现在再次被打破同样的错误.
这非常烦人..我需要在每个版本切换后手动安装npm吗?!
背景:我写了一个自定义容器,它能够容纳三个片段.根据此容器的状态,只能看到两个或三个碎片.为了通知片段他们的可见性已更改,我尝试了两个选项:
我用各自的值调用了Fragment.setUserVisibleHint()方法.托管片段覆盖此方法并做出适当反应.这样就解决了.
我调用了FragmentTransaction.hide()和FragmentTransaction.show()方法来隐藏和显示片段.托管片段覆盖Fragment.onHiddenChanged()并根据需要进行响应.这也解决了.
我的问题是我对这些选项中的任何一个都不满意.我想将不可见的片段置于标准的暂停状态.这个选项的优点是我保持代码干净简单,因为我不需要覆盖任何特殊方法(如setUserVisibleHint()
或onHiddenChanged()
),我可以处理内部的所有内容onPause()
和onResume()
已经实现的内容.
问题:将片段置于暂停状态然后从该状态恢复的正确方法是什么?
更新:我也试过了FragmentTransaction.detach()
.这不是一个选项,因为它会破坏视图,这在我的情况下是不允许的.
最近我见过一个有趣的应用程序 - Photo Wonder.卸载此应用程序时,它会显示一个Web调查页面,询问应用程序卸载的原因.现在,这是问题所在.据我所知,在删除应用程序后,系统会广播ACTION_PAKAGE_REMOVED
意图.但这个有趣的应用程序能够显示我的网页,虽然官方文档说
"正在安装的软件包没有收到此意图."
无论如何,我可以找到一个检查应用程序某种状态的进程.
现在问题就在这里.本机应用程序可以从android系统捕获广播的意图吗?如果有可能,请告诉我如何!:-(
我javadoc
在课堂上写了很多评论,每个函数都有很大的描述.当我打开课程时,向下滚动所有这些评论是不方便的.
是否有折叠所有评论的快捷方式?我尝试用Ctrl+ Shift+ /它不起作用:(.
编辑:如果工作区中有任何错误,大多数键盘快捷方式都不起作用.我没有错.
我有一个带有本机代码的Android项目.我可以通过调用ndk-build
命令从命令行构建本机代码,没有错误或警告.但是当我在ADT中打开它时会显示以下错误.
错误消息:项目中Method CallStaticIntMethod could not be resolved.
有许多类似错误的文件.
我仔细检查了配置,这就是我所拥有的.Android构建,工具链和包含已正确配置(参见下面的图片)
必需的包含在Project Explorer中也可见,并且它们是有效的(非空并指向正确的头文件).
但是当我Clean
和项目一起Build
时,错误仍然存在.关于如何解决这个问题的任何想法?
配置:ADT 22.6.2,NDK r9d(64位),OSX 10.9.2
我在自定义视图中在画布上绘制弧,如下所示.Paint
并且为了简单起见,在那里rectangle
定义onDraw()
并添加在那里.
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
RectF rectangle = new RectF(60f, 60f, 480f, 480f);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(0x40000000);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(120);
canvas.drawArc(rectangle, 225f, 315f, false, paint);
}
Run Code Online (Sandbox Code Playgroud)
当我使用4.3在Galaxy Nexus上运行此代码时,会出现以下人工制品.
但是在使用4.4.4的Nexus 5上运行时没有这样的假象.
我通过像(225f,315f)这样的角度和一些其他角度来观察这些假象.大多数情况下,弧形具有正确的形状.
有没有办法避免这些文物?
更新:我尝试使用软件,硬件和无图层setLayerType()
.人工制品改变了形式,但仍然存在.
我有一个如下图所示的布局
其中橙色框架是HostFragment
这样的:
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.design.widget.AppBarLayout
android:id="@id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:titleMarginStart="68dp"
/>
<de.halfbit.audiopie.ui.common.views.SlidingTabs
android:id="@id/tabs"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:slidingTabsIndicatorColor="@color/accent"
/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
而蓝框是一个ItemsFragment
带有a 的孩子RecyclerView
.
当我点击我的瓷砖RecyclerView
替换HostFragment
另一个ContentFragment
片段时,假设共享点击的图像.我是通过应用共享元素转换来实现的,如下所示:
FragmentManager fm = getChildFragmentManager();
Fragment fragment = ContentFragment.newInstance();
AutoTransition autoTransition = new AutoTransition();
autoTransition.setDuration(3000);
fragment.setSharedElementEnterTransition(autoTransition);
fm.beginTransaction()
.replace(R.id.library, fragment)
.addSharedElement(view, "cover")
.commit();
Run Code Online (Sandbox Code Playgroud)
它可以正常工作:当ContentFragment中的动画开始时,封面图块的初始位置是错误的(参见此屏幕投射视频) - 它具有不希望的底部偏移.
在视觉上,此偏移量看起来等于标签栏的高度HostFragment
.你们有没有想过如何避免这种偏移? …
我已经按照Gradle插件用户指南的建议为Android Studio中的Android项目创建了一个Multi项目设置.这是我的文件结构
MyProject/
| settings.gradle
| build.gradle
| MyProject.iml
+ app/
| build.gradle
| app.iml
+ libraries/
+ lib1/
| build.gradle
| lib1.iml
Run Code Online (Sandbox Code Playgroud)
有三个模块在这种配置中- MyProjects.iml
,app.iml
和lib1.iml
.尽管一切正常并且项目构建成功,但它有一个恼人的问题.Android Studio不断libraries.iml
在libraries
文件夹下创建文件,并使该文件夹成为模块.
这就是问题的原因.这是一种正常的行为 - 如果不是 - 如何摆脱它?
我试图删除libraries.iml
文件并更新MyProject.iml
没有运气.该文件一次又一次出现.
更新和最终解决方案: 为了避免因生成的文件引起我们注意力的麻烦,我将Android Studio配置为最后不显示它们.
File (Android Studio on Mac) -> Preferences... -> File Types -> Ignore
files and folders: .DS_Store;.git;*.iml;.idea;
Run Code Online (Sandbox Code Playgroud) android ×6
eclipse ×2
adt ×1
android-ndk ×1
javascript ×1
native-code ×1
ndk-build ×1
node.js ×1
npm ×1
shortcuts ×1
versioning ×1