小编Sil*_*ght的帖子

与ActionBarActivity相比,AppCompatActivity的增强是什么?

android.support.v7.app.AppCompatActivity 昨天作为新功能添加到最新的v7支持库中.

据说ActionBarActivity已经弃用了新的AppCompatActivity,这AppCompatActivity是使用支持库操作栏功能的活动的基类.那么,什么是新的功能AppCompatActivityActionBarActivity?做什么改进AppCompatActivity有过ActionBarActivity?有什么好处AppCompatActivity?有人可以提供一些样品吗?

任何提示都表示赞赏.并提前感谢.

PS:最让我感到惊讶的是,AppCompatActivityandroid.support.v4.app.FragmentActivity直接的父类延伸出来的是什么ActionBarActivity!我的意思是现在实际上ActionBarActivity可以做任何AppCompatActivity可以做的事情,为什么Android会推出后者呢?

同时,我看到了一篇博客文章,指出:" 这不是从命名ActionBarActivityAppCompatActivity,内部逻辑AppCompat通过可用AppCompatDelegate ",那么什么是" 内在逻辑的" AppCompat?有什么可以AppCompatDelegate做什么?有人会发布一些关于此的代码吗?

android android-appcompat android-actionbaractivity appcompatactivity

164
推荐指数
5
解决办法
9万
查看次数

什么是使用RecyclerView.Adapter的SortedList <T>?

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>是什么?有人可以发一些样品吗?

任何提示或代码将不胜感激.提前致谢.

android sortedlist android-appcompat android-recyclerview

70
推荐指数
3
解决办法
2万
查看次数

我们应该用ToolBar替换Action Bar吗?

我一直在使用ToolBar它,因为它被添加到Support v7库中.我觉得我用得很好.但有一点我无法理解.为什么Google会创建这样的小部件?我的意思是我们可以ToolBar通过使用做任何事情ActionBar.我们为什么要使用ToolBar?有什么优势ToolBarActionBar如果有的话?是否有必要更换ActionBarToolBar

任何提示都表示赞赏.并提前感谢.

PS:我发现ToolBar是一个蜕变ViewGroup.那么,我们怎么能ToolBarLayout?有人可以发布一些代码吗?

android android-actionbar android-toolbar

56
推荐指数
7
解决办法
3万
查看次数

如何将DP,PX,SP相互转换,尤其是DP和SP?

我知道DP,SPPX之间的区别.在搜索了这个主题后,我发现没有什么能让我完全满意.也许这篇文章是重复的,但我仍然想知道从DPPX,DPSP,从SPPX,从PXSP,从SPDP,从DPSP的转换公式是什么?我知道一些代码可以做到这一点,但它们并不完美.

android pixel density-independent-pixel

53
推荐指数
4
解决办法
4万
查看次数

android:process的用法

我有这个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 android-manifest

41
推荐指数
4
解决办法
4万
查看次数

什么是ButtonBarLayout以及我们应该如何使用它?

当我开发时,我发现了一个android.support.v7.widget.ButtonBarLayout意外的新小部件.我试图在互联网上搜索它,但没有发现任何东西,即使在官方开发文档网站上也是如此.

与此同时,ButtonBarLayout当我ButtonBarLayoutAndroid Studio中搜索时,我发现了两个,一个是android.support.v7.widget.ButtonBarLayout,另一个是com.android.internal.widget.ButtonBarLayout.我试图读取两者的源代码,我发现除了包名称它们是相同的.所以我想也许android.support.v7.widget.ButtonBarLayoutcom.android.internal.widget.ButtonBarLayout内部ButtonBarLayout通过测试并发布之后.同时,ButtonBarLayout是继承自LinearLayout.

但是有一些问题:

  • 我们可以从ButtonBarLayout字面上得到什么,我们应该如何使用它?
  • 我注意到了变量private boolean mAllowStacking.当它改变时,这种布局的方向将会改变.但我真的不明白它的用途.

有人知道ButtonBarLayout吗?

PS:我使用过Android Studio2.0.0预览版4摇篮插件2.0.0-素α3Android的支持库23.1.1平台工具23.1构建工具23.0.2.

android android-support-library

37
推荐指数
2
解决办法
1万
查看次数

Android设计支持库有哪些新功能以及如何使用其Snackbar?

面向开发人员的Android M Preview昨天发布.像往常一样,引入了许多令人惊叹的新功能.我注意到这Snackbar是其中之一.

我已经阅读了文档Snackbar,从中我了解到Snackbar位于Android设计支持库的库中,其绝对路径是android.support.design.widget.Snackbar.

该文件说:

Snackbars提供有关操作的轻量级反馈.它们在移动屏幕底部显示简短消息,在较大设备上显示左下方.Snackbars出现在屏幕上的所有其他元素上方,一次只能显示一个.

它们会在超时后或屏幕上其他位置的用户交互后自动消失,尤其是在召唤新表面或活动的交互之后.Snackbars可以在屏幕上刷掉.

那么,Snackbar表现得像一个Toast或一个Dialog?可以在布局文件中使用Snackbars吗?我怎么能以编程方式使用它?

PS:

  • 任何使用Snackbar的样品都将受到赞赏.
  • Android设计支持库是一个新的支持库,有人可以向我展示这个库的更多细节吗?

android android-support-library material-design android-design-library android-snackbar

34
推荐指数
3
解决办法
2万
查看次数

如何截取当前活动的截图然后分享?

我需要截取屏幕截图Activity(没有标题栏,用户不应该看到实际拍摄的截图),然后通过动作菜单按钮"分享"进行分享.我已经尝试了一些解决方案,但它们对我不起作用.有任何想法吗?

android share screenshot android-studio

32
推荐指数
5
解决办法
6万
查看次数

来自可绘制资源ID的文件res/drawable/abc_ic_ab_back_material.xml#0x7f020016

最近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)

android android-gradle-plugin android-design-library

25
推荐指数
4
解决办法
3万
查看次数

在Android Nougat上拍摄照片后,BitmapFactory无法解码Uri中的Bitmap

我试图拍照然后使用照片.这就是我做的.

我的设备是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

12
推荐指数
1
解决办法
7795
查看次数