平方X

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3393|回复: 0

AndroidStudio翻译时写的安卓软件笔记Kotlin+DataBinding

[复制链接]

414

主题

709

帖子

3657

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3657
QQ
发表于 2017-9-13 15:59:33 | 显示全部楼层 |阅读模式
[md]

>本文由平方X发表于平方X网,转载请注明出处。[http://blog.pingfangx.com/2366.html](http://blog.pingfangx.com/2366.html)


# 选择配色
[https://www.materialpalette.com/](https://www.materialpalette.com/)

# 添加图标
[https://github.com/google/material-design-icons](https://github.com/google/material-design-icons)

# 启用DataBinding
## gradle配置
```
android {
    ...
    dataBinding {
        enabled = true
    }
}
```
## 布局文件
```
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>

        <import type="android.view.View" />

        <variable
            name="vm"
            type="com.pingfangx.tools.androidstudiotranslator.MainActivity" />
    </data>

    <RelativeLayout
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="15dp"
        androidrientation="vertical"
        tools:context="com.pingfangx.tools.androidstudiotranslator.MainActivity">

        <android.support.design.widget.FloatingActionButton
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="50dp"
            android:layout_marginRight="50dp"
            androidnClick="@{vm.onClickBtnAdd}"
            android:scaleType="fitXY"
            android:src="@drawable/ic_add_white_48dp" />

    </RelativeLayout>

</layout>

```
* visibility需要的是整型,要用VISIBLE
## 代码绑定
```
    val mHasProject = ObservableBoolean()

        val binding: ActivityMainBinding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
        binding.setVm(this)
```
* java中的public final,在kotlin中只要val就够了
* DataBinding的类是根据布局文件命名的

# 在kotling中启用DataBinding
```
apply plugin: 'kotlin-kapt'
dependencies {
    kapt "com.android.databinding:compilerandroid_plugin_version"
}  
```

[/md]
我是平方X~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|平方X ( 冀ICP备14018164号 )

GMT+8, 2024-11-23 17:28 , Processed in 0.460080 second(s), 22 queries .

技术支持:Powered by Discuz!X3.4  © 2001-2013 Comsenz Inc.

版权所有:Copyright © 2014-2018 平方X www.pingfangx.com All rights reserved.

快速回复 返回顶部 返回列表