小编Ole*_*nko的帖子

不推荐使用Html.fromHtml(),有什么替代方案?

我更新了SDK版本24,现在Html.fromHtml()已弃用.并且Html类有一个名为flag的额外参数的新方法,但它的最小API是24.

对于较低的API版本,此功能是否有任何替代方案?我不想WebView为此目的使用a .

android textview

43
推荐指数
3
解决办法
5万
查看次数

以编程方式启动运动场景

我有一个这个layoutDescription的动画布局: app:layoutDescription="@xml/scene"

scene.xml

<MotionScene
    xmlns:motion="http://schemas.android.com/apk/res-auto">

    <Transition
        motion:constraintSetStart="@layout/view_home_card_start"
        motion:constraintSetEnd="@layout/view_home_card_end"
        motion:duration="1000">
        <OnSwipe
            motion:touchAnchorId="@+id/button"
            motion:touchAnchorSide="left"
            motion:dragDirection="dragLeft" />
    </Transition>

</MotionScene>
Run Code Online (Sandbox Code Playgroud)

我认为xml view_home_card_startview_home_card_end无关紧要.

如何以编程方式调用此动画?

android android-motionlayout

7
推荐指数
4
解决办法
2462
查看次数

数据绑定Kotlin Android studio错误

我正在尝试在我的项目中使用数据绑定库,这是用Kotlin编写的.我正在使用Kotlin v.1.0.2和Gradle插件v.2.12以及绑定编译器.我的build.gradle配置如下:

android {
    dataBinding {
        enabled = true
    }
}
kapt {
    generateStubs = true
}
dependencies {
    kapt "com.google.dagger:dagger-compiler:2.2"
    provided "org.glassfish:javax.annotation:10.0-b28"
    kapt "com.android.databinding:compiler:2.12"
}
Run Code Online (Sandbox Code Playgroud)

在我的Fragment布局中,我<data>使用一些变量声明了块:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <import type="android.view.View"/>
        <import type="com.xxx.ui.AuthorizationPresenter"/>
        <import type="com.xxx.entity.AuthProvider"/>
        <variable
            name="model"
            type="com.xxx.ui.authorization.Model"/>
        <variable
            name="presenter"
            type="com.xxx.ui.authorization.AuthorizationPresenter"/>

    </data>
    <FrameLayout
  ... />
</layout>
Run Code Online (Sandbox Code Playgroud)

然后在我的AuthorizationFragment.kt课上我设置这些变量:

override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    binding = FragmentAuthorizationBinding.inflate(inflater)
    binding?.presenter = presenter
    binding?.model = Model()
    binding?.addOnRebindCallback(object : OnRebindCallback<FragmentAuthorizationBinding>() {
        override fun …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-databinding

5
推荐指数
1
解决办法
2300
查看次数

在RecyclerView中使用DataBinding的ConstraintLayout不正确的宽度

我正在尝试使用新的ConstraintLayout.我为RecyclerView的行做了布局.它有ConstraintLayout作为根元素,其宽度设置为match_parent,当我运行我的应用程序时,它按预期呈现

正确的宽度

它工作得很好,直到我把数据绑定部分放在我的XML中,而今后的根元素是layout包装ConstraintLayout的标签,它导致ConstraintLayout行为的一些不可预测的变化 - 它的宽度从此不会呈现为match_parent,它只需要显示的一小部分宽度,虽然它仍然设置为match_parentXML.我也尝试将宽度设置为某个固定值,结果相同

在此输入图像描述

我怀疑数据绑定处理器有点在构建过程中处理布局时从ConstrainLayout剥离属性.有没有办法让事情正常运作?我的布局

<layout xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <data>
        <import type="android.view.View"/>
        <variable
            name="post"
            type=".entity.Post"/>
        <variable
            name="data"
            type=".entity.LinkPostData"/>
    </data>

    <android.support.constraint.ConstraintLayout
        android:id="@+id/constraintLayout"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingTop="16dp">
        ....
    </android.support.constraint.ConstraintLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

和适配器:

class PostsAdapter(): RecyclerView.Adapter<PostsAdapter.PostItemViewHolder>() {

    private val posts: MutableList<Post> = ArrayList()

    fun setPosts(domains: List<Post>) {
        this.posts.clear()
        this.posts.addAll(domains)
        notifyDataSetChanged()
    }

    override fun getItemViewType(position: Int): Int {
        return super.getItemViewType(position)
    }

    override fun onBindViewHolder(holder: PostItemViewHolder?, position: Int) {
        val post = posts[position]

        holder?.binding?.post = post
        holder?.binding?.data = post.data …
Run Code Online (Sandbox Code Playgroud)

android android-databinding android-constraintlayout

5
推荐指数
1
解决办法
4113
查看次数

新Android工具栏的子视图的重力属性行为不正确

我正在尝试根据此草图在新的AppCompat库提供的新工具栏小部件中实现自定义布局

在此输入图像描述

所以我试图在工具栏中添加新的Layout组件,并将其重力属性设置为bottom | center_horizo​​ntal.但似乎这个属性完全无关紧要,我的子布局总是位于工具栏的垂直中心和汉堡包图标的左侧.

在此输入图像描述

我的XML布局如下所示:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="115dp"
    android:background="?attr/colorPrimary"
    app:titleTextAppearance="@style/title">

    <RelativeLayout
        android:layout_width="176dp"
        android:layout_height="59dp"
        android:background="?attr/colorPrimaryDark"
        android:gravity="bottom|center_horizontal">

    </RelativeLayout>

</android.support.v7.widget.Toolbar>


<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/container_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <ListView
        android:id="@+id/drawer_menu"
        android:layout_width="264dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@android:color/white"
        android:choiceMode="singleChoice"
        android:divider="?android:colorBackground"
        android:dividerHeight="1dp"/>

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

任何想法如何在工具栏中实现子视图的正确对齐?

android toolbar android-appcompat

4
推荐指数
1
解决办法
6757
查看次数

嵌套约束布局忽略外部约束

目前我正在尝试将两个约束布局嵌套在一起。为此,我使用<include/>标签。我看到的是内部约束布局忽略了外部约束布局的每个约束。为了使其更加明显,我在内部约束布局周围绘制了边框:

在此输入图像描述

为了尝试这些东西,我使用了com.android.support.constraint:constraint-layout:1.0.0-alpha3.

我现在的问题是:我做错了什么,还是 alpha 版本的错误?

android android-layout android-constraintlayout

3
推荐指数
1
解决办法
2837
查看次数