什么是之间的差异onCreate()
,onCreateView()
以及onActivityCreated()
将它们各自用于片段和什么?
android oncreate android-lifecycle android-fragments fragment-lifecycle
自从它发布以来,我一直在使用Android Studio来开发我的应用程序.
一切都很好,直到最近,我必须与检查数据库文件一起调试.由于我不知道如何直接查看数据库,当我调试生成数据库文件时,我必须将数据库文件从手机导出到PC.
为了做到这一点,我必须打开DDMS > File Explorer
.一旦我打开DDMS,我就必须重新连接USB,我就失去了调试线程.检查数据库文件后,我必须关闭DDMS并再次重新连接USB以返回调试模式.
这太复杂了.有没有人有更好的方法在Android Studio中执行此操作(我知道它在Eclipse中更容易)?
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设计支持库TextInputLayout
将浮动标签放置在EditText
组件上方之后,我想知道是否有办法向组件添加浮动标签Spinner
(不一定使用设计库).
通过这个,我的意思是TextView
放在上面Spinner
(显然没有像这样的动画TextInputLayout
),但我希望文本大小,字体和颜色与TextInputLayout
浮动标签的匹配.
例如,它看起来像这样(参见Spinner
s 上方的标签):
正如我之前提到的,我的主要目标是在上面有一个标签Spinner
,就像在TextInputLayout
- 所以文字大小,字体,颜色和标签与组件之间的距离是相同的.
在有关浮动标签文本字段的Google设计页面上,有一个图表显示了标签相对于组件的尺寸,但没有标签文字颜色或尺寸的指示:
总而言之,我要问:
- 如果有一个特殊的组件来实现我的要求或我可以使用的自定义视图,它会是什么,以及如何使用它.
-如果不是,什么是浮动标签文字大小,颜色和字体,这样我就可以把一个TextView
上面我Spinner
用上面的图片中显示的布局尺寸.
根据文本字段的Google设计指南,浮动标签有以下内容:
提示和输入字体:Roboto Regular 16sp
Label字体:Roboto Regular 12sp
平铺高度:72dp
文本顶部和底部填充:16dp
文本字段分隔符填充:8dp
以及上面显示的图像.
所以浮动标签字体是:Roboto Regular 12sp.因此,您可以使用a TextView
来显示Spinner
标签,因为我不知道View
您可以使用的任何自定义或特殊组件.
但是,在尝试之后,它看起来并不像图像中显示的那样好.一个自定义视图可能是为了这个美好的,因为它可能看起来更好,但上面的解决方案是实现东西接近我本来想的只是一种方法.
android android-layout android-spinner material-design android-textinputlayout
单击android:background="?selectableItemBackground"
视图(LinearLayout
例如)时,我一直在使用涟漪效果.我想我在某处读到这是向后兼容API 14的.
但是,我发现我需要使用这种涟漪效果,但背景为白色.具体来说,我有一个列表项的布局,它将显示在默认的颜色背景上(我正在延伸Theme.AppCompat.Light.NoActionBar
),所以我想通过将列表项着色为白色(#FFFFFF
)来使列表项从这个背景中脱颖而出.
这是列表项布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="?selectableItemBackground"
android:layout_width="match_parent"
android:layout_height="wrap_content">
...
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingLeft="@dimen/mdu_keyline_1"
android:paddingRight="@dimen/mdu_keyline_1"
android:paddingTop="@dimen/mdu_padding_normal"
android:paddingBottom="@dimen/mdu_padding_normal">
...
</LinearLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
以上产生没有白色背景的涟漪效应.
如果我尝试:
<FrameLayout ...
android:background="@color/white">
Run Code Online (Sandbox Code Playgroud)
这显然会产生白色背景但没有涟漪效应.
我也尝试了其他的东西 - 这产生了一个最接近我想要的结果:
<FrameLayout ...
android:background="@color/white">
...
<LinearLayout ...
android:background="?selectableItemBackground">
Run Code Online (Sandbox Code Playgroud)
上面给了我带有涟漪效果的白色背景.但是,无论我点击哪一部分项目,纹波似乎总是从中心开始.
下面是一些截图显示了当前的结果(忽略在列表项的顶部的阴影-这是从影子AppBarLayout
和Toolbar
我使用).
我怎样才能达到预期的效果?
我可以CollapsingToolbarLayout
通过setTitle
方法设置a的标题吗?
还有办法设置字幕吗?
这是标准的Kotlin功能(据我所知)
inline fun<T> with(t: T, body: T.() -> Unit) { t.body() }
Run Code Online (Sandbox Code Playgroud)
但是,任何人都可以用简单的英文写下签名的意思吗?它是T的通用函数,第一个参数"t"表示类型T,第二个参数是函数类型的"body",接受函数???? 没有返回(单位)
我看到这个符号Something.() - >有些东西经常使用,即对于Anko:
inline fun Activity.coordinatorLayout(init: CoordinatorLayout.() -> Unit) = ankoView({ CoordinatorLayout(it) },init)
Run Code Online (Sandbox Code Playgroud)
但我不认为它在任何地方被解释了.()意味着......
我将导航抽屉图标更改为自定义图标时遇到问题.我目前不得不实现标准的抽屉图标,顶部有3条水平线,但现在我想用我的自定义抽屉图标替换它.
这就是我mDrawerToggle
现在的样子:
mDrawerToggle=new ActionBarDrawerToggle(this,
mDrawerLayout,
R.drawable.app_icon,
R.string.drawer_open) {
// My code
};
Run Code Online (Sandbox Code Playgroud) android android-actionbar android-drawable android-navigation android-actionbaractivity
由于它的好处,我将开始使用Kotlin进行Android开发以及Java.我已经安装了Android Studio插件,并在gradle文件中包含了相关的依赖项.
所以我从Kotlin文档和Stack Overflow中读到,可以为Kotlin文件包含一个单独的源目录,如下所示:
app:
-manifest
-java
-kotlin
-res
我知道我可以通过在我的build.gradle
文件中添加以下内容来创建此目录:
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:Kotlin应该在同一目录中使用Java文件"直播"吗?
除了意见之外,我想知道是否有一个特定的惯例,如果是这样,为什么它是这样的.
如果没有,那么每个选项的优缺点是什么?