我正在尝试实现如下的RecyclerView:
项目是相同类型但具有不同比例的视图.我试着打电话
view.setScaleX(scaleFactor); view.setScaleY(scaleFactor);
Run Code Online (Sandbox Code Playgroud)
在OnBindViewHolderRecycleView适配器的方法中以及在ItemDecorator中,但每次列表的行为都是意外的.实现它的最佳方法是什么?可能与其他一些控件如PagerAdapter或其他.
UPD:缩放系数取决于适配器中项目的位置,滚动时不应更改.
UPD2:这是我在OnBoundViewHolder中尝试过的代码:
int childCount = recyclerView.getChildCount();
View view = holder.getView();
if (position == childCount){
view.setScaleX(1f);
view.setScaleY(1f);
} else if (position == childCount - 1){
view.setScaleX(0.8f);
view.setScaleY(0.8f);
} else if (position == childCount - 2){
view.setScaleX(0.6f);
view.setScaleY(0.6f);
}
else {
view.setScaleX(0.4f);
view.setScaleY(0.4f);
}
Run Code Online (Sandbox Code Playgroud)
这是结果(滚动时它会改变):
和相同的代码,但在ItemDecorator getItemOffsets:
我正在尝试使用Ansible作为配置器在Vagrant中创建多机器环境.
我的Vagrantfile看起来像下一个:
Vagrant.configure("2") do |config|
config.vm.provision "ansible" do |ansible|
ansible.limit = "all"
ansible.playbook = "main.yml"
ansible.inventory_path = "staging"
ansible.verbose = "-vvvv"
end
config.vm.define "machine1" do |machine1|
machine1.vm.box = "ubuntu/trusty64"
machine1.vm.network "private_network", ip:"192.168.77.10"
machine1.vm.hostname = "machine1"
machine1.vm.provider :virtualbox do |vb|
vb.name = "machine1"
end
end
config.vm.define "machine2" do |machine2|
machine2.vm.box = "ubuntu/trusty64"
machine2.vm.network "private_network", ip:"192.168.77.11"
machine2.vm.hostname = "machine2"
machine2.vm.provider :virtualbox do |vb|
vb.name = "machine2"
end
end
config.vm.define "machine3" do |machine3|
machine3.vm.box = "ubuntu/trusty64"
machine3.vm.network "private_network", ip:"192.168.77.12"
machine3.vm.hostname = "machine3"
machine3.vm.provider …Run Code Online (Sandbox Code Playgroud)