Google 最近公布了Android mvvm架构,可以使用databinding做些赋值和渲染界面的操作。
了解到Jsp中使用EL表达式,可以做些简单的赋值和表达式运算。
然后我写一个简单的库,可以使用Android的Databinding进行动态布局,布局的大小可以通过表达式来计算。
比如一个view的高度是屏幕宽度的三分之一,然后再减10dp。可以这样使用。
width = "@{dimen.screenWidth/3 - dimen.dp(10)}"
下面是Github连接
AndroidSizeUtil
下面是文档:
AndroidSizeUtil
Desc
AndroidSizeUtil is use android mvvm(databinding) architecture.
It is easy to compose layout, like html. Use percentage or expression in xml file to compose layout.
Usage
#1
Your app project must use android mvvm(databinding) architecture.
Android mvvm doc
#2
Gradle compile
repositories {
maven {
url "https://raw.githubusercontent.com/LiushuiXiaoxia/AndroidSizeUtil/master/repo/"
}
}
compile 'cn.mycommons:androidsizeutil:1.0.0'
#3
Init AndroidSizeUtil in android Application or Activity.
public class AppContext extends Application {
@Override
public void onCreate() {
super.onCreate();
AndroidSizeUtil.init(this);
}
}
#4
Improt AndroidSizeUtil in xml.
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="dimen"
type="cn.mycommons.androidsizeutil.DimenUtil" />
</data>
</layout>
#5
Use dimen to compose vi