android.support.v7.app.AppCompatActivity 昨天作为新功能添加到最新的v7支持库中.
据说ActionBarActivity已经弃用了新的AppCompatActivity,这AppCompatActivity是使用支持库操作栏功能的活动的基类.那么,什么是新的功能AppCompatActivity了ActionBarActivity?做什么改进AppCompatActivity有过ActionBarActivity?有什么好处AppCompatActivity?有人可以提供一些样品吗?
任何提示都表示赞赏.并提前感谢.
PS:最让我感到惊讶的是,AppCompatActivity从android.support.v4.app.FragmentActivity直接的父类延伸出来的是什么ActionBarActivity!我的意思是现在实际上ActionBarActivity可以做任何AppCompatActivity可以做的事情,为什么Android会推出后者呢?
同时,我看到了一篇博客文章,指出:" 这不是从命名ActionBarActivity到AppCompatActivity,内部逻辑AppCompat通过可用AppCompatDelegate ",那么什么是" 内在逻辑的" AppCompat?有什么可以AppCompatDelegate做什么?有人会发布一些关于此的代码吗?
android android-appcompat android-actionbaractivity appcompatactivity
Android支持库22.1昨天发布.v4支持库和v7中添加了许多新功能,其中android.support.v7.util.SortedList<T>引起了我的注意.
据说,SortedList是一种新的数据结构,可以使用RecyclerView.Adapter,维护项目添加/删除/移动/更改的动画RecyclerView.这听起来像一个List<T>在ListView,但似乎更先进,更强大.
那么,SortedList<T>和之间有什么区别List<T>?我怎么能有效地使用它?如果是这样的话,执行SortedList<T>结束的List<T>是什么?有人可以发一些样品吗?
任何提示或代码将不胜感激.提前致谢.
我一直在使用ToolBar它,因为它被添加到Support v7库中.我觉得我用得很好.但有一点我无法理解.为什么Google会创建这样的小部件?我的意思是我们可以ToolBar通过使用做任何事情ActionBar.我们为什么要使用ToolBar?有什么优势ToolBar了ActionBar如果有的话?是否有必要更换ActionBar的ToolBar?
任何提示都表示赞赏.并提前感谢.
PS:我发现ToolBar是一个蜕变ViewGroup.那么,我们怎么能ToolBar像Layout?有人可以发布一些代码吗?
我知道DP,SP和PX之间的区别.在搜索了这个主题后,我发现没有什么能让我完全满意.也许这篇文章是重复的,但我仍然想知道从DP到PX,DP到SP,从SP到PX,从PX到SP,从SP到DP,从DP到SP的转换公式是什么?我知道一些代码可以做到这一点,但它们并不完美.
我有这个AndroidManifest.xml文件:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1" android:versionName="1.0.0.0721"
android:process="com.lily.process" package="com.lily.test">
<provider android:authorities="com.lily.test"
android:name="com.lily.test.provider"
android:process="com.lily.process">
</provider>
Run Code Online (Sandbox Code Playgroud)
"android:process"作为清单标记和提供者标记添加,我知道如果它被添加为提供者标记,则提供者可以在"com.lily.process"过程中运行.但是当它作为清单标签编写时,它的用法是什么?我尝试过,但并非所有组件都可以在它识别的过程中运行.
当我开发时,我发现了一个android.support.v7.widget.ButtonBarLayout意外的新小部件.我试图在互联网上搜索它,但没有发现任何东西,即使在官方开发文档网站上也是如此.
与此同时,ButtonBarLayout当我ButtonBarLayout在Android Studio中搜索时,我发现了两个,一个是android.support.v7.widget.ButtonBarLayout,另一个是com.android.internal.widget.ButtonBarLayout.我试图读取两者的源代码,我发现除了包名称它们是相同的.所以我想也许android.support.v7.widget.ButtonBarLayout是com.android.internal.widget.ButtonBarLayout在内部ButtonBarLayout通过测试并发布之后.同时,ButtonBarLayout是继承自LinearLayout.
但是有一些问题:
ButtonBarLayout字面上得到什么,我们应该如何使用它?private boolean mAllowStacking.当它改变时,这种布局的方向将会改变.但我真的不明白它的用途.有人知道ButtonBarLayout吗?
PS:我使用过Android Studio的2.0.0预览版4和摇篮插件的2.0.0-素α3和Android的支持库的23.1.1和平台工具的23.1和构建工具的23.0.2.
面向开发人员的Android M Preview昨天发布.像往常一样,引入了许多令人惊叹的新功能.我注意到这Snackbar是其中之一.
我已经阅读了文档Snackbar,从中我了解到Snackbar位于Android设计支持库的库中,其绝对路径是android.support.design.widget.Snackbar.
该文件说:
Snackbars提供有关操作的轻量级反馈.它们在移动屏幕底部显示简短消息,在较大设备上显示左下方.Snackbars出现在屏幕上的所有其他元素上方,一次只能显示一个.
它们会在超时后或屏幕上其他位置的用户交互后自动消失,尤其是在召唤新表面或活动的交互之后.Snackbars可以在屏幕上刷掉.
那么,Snackbar表现得像一个Toast或一个Dialog?可以在布局文件中使用Snackbars吗?我怎么能以编程方式使用它?
PS:
android android-support-library material-design android-design-library android-snackbar
我需要截取屏幕截图Activity(没有标题栏,用户不应该看到实际拍摄的截图),然后通过动作菜单按钮"分享"进行分享.我已经尝试了一些解决方案,但它们对我不起作用.有任何想法吗?
最近android support library更新到23.2.0.下载android sdk并更新android设计支持库后23.2.0,此错误反复发生.我的项目甚至无法编译.完整的错误日志说:
03-02 12:00:04.945 9324-9324/com.creditease.zhiwang.debug E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.creditease.zhiwang.debug/com.creditease.zhiwang.activity.TabContainerActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020016
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
at android.app.ActivityThread.access$700(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1330)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5528)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020016
at android.content.res.Resources.loadDrawable(Resources.java:2974)
at android.content.res.Resources.getDrawable(Resources.java:1558)
at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:48)
at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:374)
at android.support.v7.widget.TintResources.getDrawable(TintResources.java:44)
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
at …Run Code Online (Sandbox Code Playgroud) 我试图拍照然后使用照片.这就是我做的.
我的设备是Nexus 6P(Android 7.1.1).
首先,我创建了一个Uri:
Uri mPicPath = UriUtil.fromFile(this, UriUtil.createTmpFileForPic());
//Uri mPicPath = UriUtil.fromFile(this, UriUtil.createFileForPic());
Run Code Online (Sandbox Code Playgroud)
然后,我开始Intent:
Intent intent = ActivityUtils.getTakePicIntent(mPicPath);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, RequestCode.TAKE_PIC);
}
Run Code Online (Sandbox Code Playgroud)
最后,我处理了这个Uri问题onActivityResult:
if (requestCode == RequestCode.TAKE_PIC) {
if (resultCode == RESULT_OK && mPicPath != null) {
Bitmap requireBitmap = BitmapFactory.decodeFile(mPicPath.getPath());
//path is like this: /Download/Android/data/{@applicationId}/files/Pictures/JPEG_20170216_173121268719051242.jpg
requireBitmap.recycle();//Here NPE was thrown.
}
}
Run Code Online (Sandbox Code Playgroud)
在此期间,以下是UriUtil:
public class UriUtil {
public static File createFileForPic() throws …Run Code Online (Sandbox Code Playgroud) android bitmap android-camera-intent android-fileprovider android-7.0-nougat