UniRx学习之路(二)——UI应用实践

1.Subject使用技巧
 1 public Button btn0;
 2 public Button btn1;
 3 public Button btn2;
 4 public Button btn3;
 5 public Button btn4;
 6 private Subject<int> _currentBtn = new Subject<int>();
 7 
 8 void InitializeItem(int index){
 9     OnShowItem(index);  
10 }
11 
12 void OnShowItem(int index){
13     _currentBtn.OnNext(index);
14 }
15 
16 public IObservable<int> ShowInfoItem(){
17   return _currentBtn.onClickAsObservable();        
18 }
1 private InfoListView view = new InfoListView();
2 
3 public void Initialize(){
4     view.ShowInfoItem().Subscribe(onNext: x=>{
5         print(x);
6     }
7 
8 }

 Subject同时充当了Observer和Observable的角色

2.将数据绑定到Text显示
 1 public Text text;
 2 public Slider slider;
 3 public Button btn;
 4 public ScrollRect scroll;
 5 
 6 void Start(){
 7   slider.OnValueChangedAsObservable().Where(x => x > 0.5f).
 8       SubscribeToText(ReturnText(),x =>((int)(slider.value * 100))
 9       .ToString());
10       
11   btn.OnClickAsObservable().SubscribeToText(ReturnText(),
12       x => btn.gameObject.transform.GetChild(0).
13       GetComponent<Text>().text);
14     
15   scroll.OnScrollAsObservable().SubscribeToText(ReturnText(),
16       x  => x.ToString());
17 }    
18 
19 Text ReturnText(){
20   return text;  
21 }
 3.Interactable相互影响作用
1 public Toggle toggle;
2 public Button btn;
3 
4 void Start(){
5   toggle.OnValueChangedAsObservable().SubscribeToInteractable(btn);  
6 }

 

 toggle是一个勾选选项,当toggle被勾选时,btn可以使用;当toggle不被勾选时,btn不起作用

 

转载于:https://www.cnblogs.com/yeting-home/p/6363066.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值