{"id":37,"date":"2020-11-30T18:37:03","date_gmt":"2020-11-30T10:37:03","guid":{"rendered":"http:\/\/[240e:33d:129:4cc0:265e:beff:fe51:adfd]\/WordPress\/?p=37"},"modified":"2021-10-07T17:33:37","modified_gmt":"2021-10-07T09:33:37","slug":"databinding%e8%87%aa%e5%ae%9a%e4%b9%89%e6%96%b9%e6%b3%95%e3%80%81%e5%8f%82%e6%95%b0%e7%bb%91%e5%ae%9a%ef%bc%88bindingadapter%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.jinhaihan.top\/WordPress\/databinding%e8%87%aa%e5%ae%9a%e4%b9%89%e6%96%b9%e6%b3%95%e3%80%81%e5%8f%82%e6%95%b0%e7%bb%91%e5%ae%9a%ef%bc%88bindingadapter%ef%bc%89\/","title":{"rendered":"DataBinding\u81ea\u5b9a\u4e49\u65b9\u6cd5\u3001\u53c2\u6570\u7ed1\u5b9a\uff08BindingAdapter\uff09"},"content":{"rendered":"<p>\u53c2\u8003\u6587\u6863\uff1a<\/p>\n<p><a href=\"https:\/\/blog.csdn.net\/guiying712\/article\/details\/80411597\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.csdn.net\/guiying712\/article\/details\/80411597<\/a><\/p>\n<p><a href=\"https:\/\/www.jianshu.com\/p\/92a73354d40a\" target=\"_blank\" rel=\"noopener\">https:\/\/www.jianshu.com\/p\/92a73354d40a<\/a><\/p>\n<p>\u6709\u4e00\u4e9b\u5c5e\u6027\uff0c\u6bd4\u5982\u76d1\u542c\u5668\uff0c\u5e76\u4e0d\u80fd\u5728xml\u7ed1\u5b9a\uff0c\u4e0b\u9762\u4e3e\u4e24\u4e2a\u4f8b\u5b50<\/p>\n<h1>\u7ed1\u5b9a\u6ca1\u6709setter\u7684\u53c2\u6570<\/h1>\n<p>android:paddingLeft\u5e76\u6ca1\u6709\u4e0e\u4e4b\u5bf9\u5e94\u7684set\u65b9\u6cd5\uff0c\u4f46\u662f\u6709\u4e2a\u7528\u4e8e\u8bbe\u7f6e\u8be5\u5c5e\u6027\u7684setPadding(left, top, right, bottom)\u65b9\u6cd5\uff0c\u9488\u5bf9\u8fd9\u4e00\u95ee\u9898\uff0c\u4f7f\u7528BindingAdapter\u6ce8\u89e3\u5219\u80fd\u5141\u8bb8\u6211\u4eec\u81ea\u5b9a\u4e49\u8fd9\u4e2a\u5c5e\u6027\u8c03\u7528set\u65b9\u6cd5\u7684\u65b9\u5f0f\u3002<\/p>\n<p>Android framework\u4e2d\u7c7b\u5df2\u7ecf\u4e3a\u5c5e\u6027\u5efa\u7acb\u4e86BindingAdapter\u6ce8\u89e3\u3002<\/p>\n<pre><code class=\"language-kotlin\">\/\/ kotlin\n@BindingAdapter(&quot;android:paddingLeft&quot;)\n\/\/\u7b2c\u4e00\u4e2a\u53c2\u6570\u4ee3\u8868\u8981\u5bf9View\u64cd\u4f5c\uff0c\u4e4b\u540e\u7684\u53c2\u6570\u548c\u6ce8\u89e3\u7684\u4e00\u4e00\u5bf9\u5e94\nfun setPaddingLeft(view: View, padding: Int) {\n    view.setPadding(padding,\n                view.getPaddingTop(),\n                view.getPaddingRight(),\n                view.getPaddingBottom())\n}<\/code><\/pre>\n<hr \/>\n<h1>\u7ed1\u5b9aLinsener\u65b9\u6cd5<\/h1>\n<p>\u4ee5\u4fa7\u6ed1\u680f\u4e3a\u4f8b\uff0c\u8fdb\u884c\u51fd\u6570\u7ed1\u5b9a<\/p>\n<p>\u9996\u5148\u5728attrs\u81ea\u5b9a\u4e49\u8981\u7ed1\u5b9a\u7684\u51fd\u6570\u540d\u5b57\uff0c\u968f\u4fbf\u662f\u4ec0\u4e48\u90fd\u53ef\u4ee5<\/p>\n<pre><code class=\"language-xml\">      &lt;attr name=&quot;onClosed&quot; format=&quot;reference&quot; \/&gt;\n      &lt;attr name=&quot;onOpened&quot; format=&quot;reference&quot; \/&gt;<\/code><\/pre>\n<p>\u5728\u5e03\u5c40\u6587\u4ef6\u4e2d\u4f7f\u7528\uff1a<\/p>\n<pre><code class=\"language-xml\">&lt;com.chauthai.swipereveallayout.SwipeRevealLayout\n        android:id=&quot;@+id\/swipe&quot;\n        android:layout_width=&quot;match_parent&quot;\n        android:layout_height=&quot;94dp&quot;\n        app:mode=&quot;normal&quot;\n        app:dragEdge=&quot;right&quot;\n        binding:onClosed=&quot;@{viewModel.\u65b9\u6cd51}&quot;\n        binding:onOpened=&quot;@{viewModel.\u65b9\u6cd52}&quot;\/&gt;<\/code><\/pre>\n<p>\u7ed1\u5b9a\u7684\u65b9\u6cd5\u8981\u7528\u8fd9\u79cd\u5199\u6cd5<\/p>\n<pre><code>var deleteClosed: BindingCommand&lt;*&gt; = BindingCommand&lt;Any?&gt;(BindingAction {\n        Log.e(&quot;aaa&quot;,&quot;deleteClosed&quot;)\n    })<\/code><\/pre>\n<p>\u4f46\u662f\u73b0\u5728xml\u5e76\u4e0d\u77e5\u9053\u4f60\u7ed1\u5b9a\u8fd9\u4fe9\u662f\u5565\uff0c\u4e8e\u662f\u8981\u53bb\u544a\u8bc9\u5b83\u600e\u4e48\u505a<\/p>\n<p>\u9759\u6001\u51fd\u6570\uff0c\u6ce8\u89e3\u4e2d\u8868\u660e\u4f60\u8981\u7528\u5230\u4ec0\u4e48\u53c2\u6570<\/p>\n<p>\u65b9\u6cd5\u540d\u7b2c\u4e00\u4e2a\u53c2\u6570\u4ee3\u8868\u7740\u4f60\u8981\u64cd\u4f5c\u7684\u5e03\u5c40\u540d\u79f0<\/p>\n<pre><code class=\"language-kotlin\">object BindingAdapter {\n\n    @BindingAdapter(\n        value = [&quot;onOpened&quot;, &quot;onClosed&quot;]\n    )\n    \/\/\u6807\u8bb0\u4e3a\u9759\u6001\n        @JvmStatic\n    \/\/\u7b2c\u4e00\u4e2a\u53c2\u6570\u4ee3\u8868\u8981\u5bf9SwipeRevealLayout\u64cd\u4f5c\uff0c\u4e4b\u540e\u7684\u53c2\u6570\u548c\u6ce8\u89e3\u7684\u4e00\u4e00\u5bf9\u5e94\n    \/\/\u8bb0\u5f97\u53c2\u6570\u53ef\u7a7a\n    fun setSwipeRevealLayoutListener(view: SwipeRevealLayout,  onOpened: BindingCommand&lt;*&gt;?, onClosed: BindingCommand&lt;*&gt;?) {\n        \/\/\u6b64\u65f6\u968f\u610f\u8fdb\u884c\u64cd\u4f5c\u8bbe\u7f6e\n        \/\/\u6b64\u4f8b\u5b50\u662f\u4e3a\u4e8b\u4ef6\u8bbe\u5b9a\u76d1\u542c\u7ed1\u5b9a\u51fd\u6570\n        \/\/\u8bbe\u5b9a\u76d1\u542c\u5668\n        view.setSwipeListener(object :SwipeRevealLayout.SwipeListener{\n            override fun onOpened(view: SwipeRevealLayout?) {\n                \/\/\u5f53onOpened\u65f6\u6267\u884c\u7ed1\u5b9a\u7684command onOpened\n                onOpened?.execute()\n            }\n\n            override fun onClosed(view: SwipeRevealLayout?) {\n                onClosed?.execute()\n            }\n\n            override fun onSlide(view: SwipeRevealLayout?, slideOffset: Float) {\n\n            }\n\n        })\n    }\n\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u53c2\u8003\u6587\u6863\uff1a https:\/\/blog.c&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":125,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[8],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2021\/10\/9d44955fb48b1ee67f28e63a99bbd4a2.jpg?fit=1920%2C1080&ssl=1","jetpack-related-posts":[{"id":228,"url":"https:\/\/www.jinhaihan.top\/WordPress\/databinding%e7%bb%91%e5%ae%9a%e4%b8%8d%e5%90%8c%e4%b8%8a%e4%b8%8b%e6%96%87%e7%9a%84%e5%b1%9e%e6%80%a7\/","url_meta":{"origin":37,"position":0},"title":"Databinding\u7ed1\u5b9a\u4e0d\u540c\u4e0a\u4e0b\u6587\u7684\u5c5e\u6027","author":"Kim","date":"2022\u5e7412\u670830\u65e5","format":false,"excerpt":"\u7ed1\u5b9a\u67d0\u7236\u7ea7\u7684\u5c5e\u6027 \u5047\u8bbe\u573a\u666f\uff1a \u5b58\u5728\u4e00\u4e2a\u5df2\u7ecf\u8bbe\u7f6e\u4e86Item source\u7684ListView\uff0cListV\u2026","rel":"","context":"\u5728\u201cWPF\u201d\u4e2d","block_context":{"text":"WPF","link":"https:\/\/www.jinhaihan.top\/WordPress\/category\/bolg\/wpf\/"},"img":{"alt_text":"The Rhine\u2013Meuse\u2013Scheldt river delta in the Netherlands","src":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/12\/49830289321_83c90a1dd4_b.jpg?fit=1024%2C683&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/12\/49830289321_83c90a1dd4_b.jpg?fit=1024%2C683&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/12\/49830289321_83c90a1dd4_b.jpg?fit=1024%2C683&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":235,"url":"https:\/\/www.jinhaihan.top\/WordPress\/%e5%9c%a8gin%e6%a1%86%e6%9e%b6%e4%b8%ad%e8%8e%b7%e5%8f%96%e5%a4%96%e9%83%a8%e8%af%b7%e6%b1%82%e4%b8%adget%e5%92%8cpost%e7%9a%84%e5%8f%82%e6%95%b0\/","url_meta":{"origin":37,"position":1},"title":"\u5728Gin\u6846\u67b6\u4e2d\u83b7\u53d6\u5916\u90e8\u8bf7\u6c42\u4e2dGet\u548cPost\u7684\u53c2\u6570","author":"Kim","date":"2023\u5e741\u670831\u65e5","format":false,"excerpt":"\u9996\u5148\u5047\u8bbe\u5df2\u7ecf\u642d\u5efa\u597d\u6574\u4e2a\u670d\u52a1\uff0c\u5e76\u521b\u5efa\u4e86\u51e0\u4e2aAPI\u7528\u4e8e\u6d4b\u8bd5\u3002 \u5728Get\u8bf7\u6c42\u4e2d\uff0c\u5047\u8bbe\u7531\u4ee5\u4e0b\u51fd\u6570\u5904\u7406\uff0c\u5219\u83b7\u53d6\u2026","rel":"","context":"\u5728\u201cGolang\u201d\u4e2d","block_context":{"text":"Golang","link":"https:\/\/www.jinhaihan.top\/WordPress\/category\/bolg\/golang\/"},"img":{"alt_text":"Dynamic Earth - Ocean Currents","src":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2023\/01\/7402441936_5c99447ca0_b.jpg?fit=1024%2C576&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2023\/01\/7402441936_5c99447ca0_b.jpg?fit=1024%2C576&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2023\/01\/7402441936_5c99447ca0_b.jpg?fit=1024%2C576&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":50,"url":"https:\/\/www.jinhaihan.top\/WordPress\/%e8%87%aa%e5%ae%9a%e4%b9%89%e8%a7%86%e5%9b%be%e7%9a%84databbinding\/","url_meta":{"origin":37,"position":2},"title":"\u81ea\u5b9a\u4e49\u89c6\u56fe\u7684DatabBinding","author":"Kim","date":"2021\u5e744\u670830\u65e5","format":false,"excerpt":"class CouponsView(context: Context?, attrs: Attrib\u2026","rel":"","context":"\u5728\u201cAndroid\u201d\u4e2d","block_context":{"text":"Android","link":"https:\/\/www.jinhaihan.top\/WordPress\/category\/bolg\/android\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2021\/10\/989a51f0ccd84a42f5e3277b9808f372.jpg?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2021\/10\/989a51f0ccd84a42f5e3277b9808f372.jpg?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2021\/10\/989a51f0ccd84a42f5e3277b9808f372.jpg?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2021\/10\/989a51f0ccd84a42f5e3277b9808f372.jpg?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":184,"url":"https:\/\/www.jinhaihan.top\/WordPress\/ue4-c%e7%bb%91%e5%ae%9a%e6%8c%89%e9%94%ae%e8%be%93%e5%85%a5\/","url_meta":{"origin":37,"position":3},"title":"UE4 C++\u7ed1\u5b9a\u6309\u952e\u8f93\u5165","author":"Kim","date":"2022\u5e744\u670817\u65e5","format":false,"excerpt":"Actor\u5185\u6709\u4e00\u4e2a\u5df2\u7ecf\u9884\u5148\u5b9a\u4e49\u7684InputComponent \u9700\u8981\u5c06\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316\u3001\u7ed1\u5b9a\u5373\u53ef, \u6700\u540e\u8981\u2026","rel":"","context":"\u5728\u201c\u535a\u5ba2\u201d\u4e2d","block_context":{"text":"\u535a\u5ba2","link":"https:\/\/www.jinhaihan.top\/WordPress\/category\/bolg\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/03\/R.jpg?fit=1200%2C750&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/03\/R.jpg?fit=1200%2C750&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/03\/R.jpg?fit=1200%2C750&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/03\/R.jpg?fit=1200%2C750&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":87,"url":"https:\/\/www.jinhaihan.top\/WordPress\/cai%e4%b8%ad%e5%88%87%e6%8d%a2blackboard%e7%9a%84%e5%80%bc\/","url_meta":{"origin":37,"position":4},"title":"C++AI\u4e2d\u5207\u6362BlackBoard\u7684\u503c","author":"Kim","date":"2021\u5e749\u67089\u65e5","format":false,"excerpt":"\u9996\u5148\u5b9a\u4e49\u4e00\u4e2aFBlackboardKeySelector UPROPERTY(EditAnywher\u2026","rel":"","context":"\u5728\u201c\u865a\u5e7b4\/5\u201d\u4e2d","block_context":{"text":"\u865a\u5e7b4\/5","link":"https:\/\/www.jinhaihan.top\/WordPress\/category\/bolg\/unreal-engine\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2021\/10\/888563.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2021\/10\/888563.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2021\/10\/888563.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2021\/10\/888563.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":225,"url":"https:\/\/www.jinhaihan.top\/WordPress\/wpf-databinding%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e5%bc%8f\/","url_meta":{"origin":37,"position":5},"title":"# WPF Databinding\u7684\u51e0\u79cd\u65b9\u5f0f","author":"Kim","date":"2022\u5e7412\u670829\u65e5","format":false,"excerpt":"WPF Databinding\u7684\u51e0\u79cd\u65b9\u5f0f \u6709\u65f6\u5019\u4f1a\u548cUWP\u3001\u5176\u4ed6\u8bed\u8a00\u7684\u7ed1\u5b9a\u5f04\u6df7\uff0c\u8fd9\u91cc\u505a\u4e00\u4e0b\u5907\u4efd\u8bb0\u5f55 \u2026","rel":"","context":"\u5728\u201cWPF\u201d\u4e2d","block_context":{"text":"WPF","link":"https:\/\/www.jinhaihan.top\/WordPress\/category\/bolg\/wpf\/"},"img":{"alt_text":"gray and brown mountain","src":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/12\/pexels-photo-417173.jpeg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/12\/pexels-photo-417173.jpeg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/12\/pexels-photo-417173.jpeg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jinhaihan.top\/WordPress\/wp-content\/uploads\/2022\/12\/pexels-photo-417173.jpeg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/posts\/37"}],"collection":[{"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/comments?post=37"}],"version-history":[{"count":1,"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/posts\/37\/revisions"}],"predecessor-version":[{"id":38,"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/posts\/37\/revisions\/38"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/media\/125"}],"wp:attachment":[{"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/media?parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/categories?post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jinhaihan.top\/WordPress\/wp-json\/wp\/v2\/tags?post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}