{"id":723,"date":"2016-01-18T13:20:32","date_gmt":"2016-01-18T05:20:32","guid":{"rendered":"https:\/\/www.ray650128.com\/wordpress\/?p=601"},"modified":"2016-01-18T13:20:32","modified_gmt":"2016-01-18T05:20:32","slug":"android%e8%bd%89%e8%bc%89-android%e6%a8%a3%e5%bc%8f%e7%9a%84%e9%96%8b%e7%99%bcselector%e7%af%87","status":"publish","type":"post","link":"https:\/\/blog.ray650128.com\/?p=723","title":{"rendered":"[Android]\u8f49\u8f09-Android\u6a23\u5f0f\u7684\u958b\u767c:selector\u7bc7"},"content":{"rendered":"<p><span class=\"md_line\">\u8f49\u8f09\u81ea<a class=\"md_compiled\" href=\"http:\/\/keeganlee.me\/\">Keegan\u5c0f\u92fc<\/a><\/span><\/p>\n<p><span class=\"md_line\">\u539f\u6587\u93c8\u63a5\uff1a<a href=\"http:\/\/keeganlee.me\/post\/android\/20150905\"><strong>http:\/\/keeganlee.me\/post\/android\/20150905<\/strong><\/a><\/span><\/p>\n<hr \/>\n<p class=\"md_block\"><span class=\"md_line\">\u4e0a\u4e00\u7bc7\u8a73\u7d30\u8b1b\u4e86shape\u7684\u7528\u6cd5\uff0c\u8b1b\u89e3\u4e86\u600e\u9ebc\u7528shape\u81ea\u5b9a\u7fa9\u77e9\u5f62\u3001\u5713\u5f62\u3001\u7dda\u5f62\u548c\u74b0\u5f62\uff0c\u4ee5\u53ca\u6709\u54ea\u4e9b\u9700\u8981\u6ce8\u610f\u7684\u5730\u65b9\u3002\u4e0d\u904e\uff0cshape\u53ea\u80fd\u5b9a\u7fa9\u55ae\u4e00\u7684\u5f62\u72c0\uff0c\u800c\u5be6\u969b\u61c9\u7528\u4e2d\uff0c\u5f88\u591a\u5730\u65b9\u6bd4\u5982\u6309\u9215\u3001Tab\u3001ListItem\u7b49\u90fd\u662f\u4e0d\u540c\u72c0\u614b\u6709\u4e0d\u540c\u7684\u5c55\u793a\u5f62\u72c0\u3002\u8209\u500b\u4f8b\u5b50\uff0c\u4e00\u500b\u6309\u9215\u7684\u80cc\u666f\uff0c\u9ed8\u8a8d\u6642\u662f\u4e00\u500b\u5f62\u72c0\uff0c\u6309\u4e0b\u6642\u662f\u4e00\u500b\u5f62\u72c0\uff0c\u4e0d\u53ef\u64cd\u4f5c\u6642\u53c8\u662f\u53e6\u4e00\u500b\u5f62\u72c0\u3002\u6709\u6642\u5019\uff0c\u4e0d\u540c\u72c0\u614b\u4e0b\u6539\u8b8a\u7684\u4e0d\u53ea\u662f\u80cc\u666f\u3001\u5716\u7247\u7b49\uff0c\u6587\u5b57\u984f\u8272\u4e5f\u6703\u76f8\u61c9\u6539\u8b8a\u3002\u800c\u8981\u8655\u7406\u9019\u4e9b\u4e0d\u540c\u72c0\u614b\u4e0b\u5c55\u793a\u4ec0\u9ebc\u7684\u554f\u984c\uff0c\u5c31\u8981\u7528selector\u4f86\u5be6\u73fe\u4e86\u3002<\/span><\/p>\n<p class=\"md_block\"><span class=\"md_line\">selector\u6a19\u7c64\uff0c\u53ef\u4ee5\u6dfb\u52a0\u4e00\u500b\u6216\u591a\u500bitem\u5b50\u6a19\u7c64\uff0c\u800c\u76f8\u61c9\u7684\u72c0\u614b\u662f\u5728item\u6a19\u7c64\u4e2d\u5b9a\u7fa9\u7684\u3002\u5b9a\u7fa9\u7684xml\u6587\u4ef6\u53ef\u4ee5\u4f5c\u70ba\u5169\u7a2e\u8cc7\u6e90\u4f7f\u7528\uff1adrawable\u548ccolor\u3002\u4f5c\u70badrawable\u8cc7\u6e90\u4f7f\u7528\u6642\uff0c\u4e00\u822c\u548cshape\u4e00\u6a23\u653e\u65bc<strong>drawable<\/strong>\u76ee\u9304\u4e0b\uff0citem\u5fc5\u9808\u6307\u5b9a<strong>android:drawable<\/strong>\u5c6c\u6027\uff1b\u4f5c\u70bacolor\u8cc7\u6e90\u4f7f\u7528\u6642\uff0c\u5247\u653e\u65bc<strong>color<\/strong>\u76ee\u9304\u4e0b\uff0citem\u5fc5\u9808\u6307\u5b9a<strong>android:color<\/strong>\u5c6c\u6027\u3002<\/span><\/p>\n<p class=\"md_block md_has_block_below md_has_block_below_ul\"><span class=\"md_line\">\u90a3\u9ebc\uff0c\u770b\u770b\u90fd\u6709\u54ea\u4e9b\u72c0\u614b\u53ef\u4ee5\u8a2d\u7f6e\u5462\uff1a<\/span><\/p>\n<ul>\n<li class=\"md_li\"><strong>android:state_enabled<\/strong>: \u8a2d\u7f6e\u89f8\u6478\u6216\u9ede\u64ca\u4e8b\u4ef6\u662f\u5426\u53ef\u7528\u72c0\u614b\uff0c\u4e00\u822c\u53ea\u5728false\u6642\u8a2d\u7f6e\u8a72\u5c6c\u6027\uff0c\u8868\u793a\u4e0d\u53ef\u7528\u72c0\u614b<\/li>\n<li class=\"md_li\"><strong>android:state_pressed<\/strong>: \u8a2d\u7f6e\u662f\u5426\u6309\u58d3\u72c0\u614b\uff0c\u4e00\u822c\u5728true\u6642\u8a2d\u7f6e\u8a72\u5c6c\u6027\uff0c\u8868\u793a\u5df2\u6309\u58d3\u72c0\u614b\uff0c\u9ed8\u8a8d\u70bafalse<\/li>\n<li class=\"md_li\"><strong>android:state_selected<\/strong>: \u8a2d\u7f6e\u662f\u5426\u9078\u4e2d\u72c0\u614b\uff0ctrue\u8868\u793a\u5df2\u9078\u4e2d\uff0cfalse\u8868\u793a\u672a\u9078\u4e2d<\/li>\n<li class=\"md_li\"><strong>android:state_checked<\/strong>: \u8a2d\u7f6e\u662f\u5426\u52fe\u9078\u72c0\u614b\uff0c\u4e3b\u8981\u7528\u65bcCheckBox\u548cRadioButton\uff0ctrue\u8868\u793a\u5df2\u88ab\u52fe\u9078\uff0cfalse\u8868\u793a\u672a\u88ab\u52fe\u9078<\/li>\n<li class=\"md_li\"><strong>android:state_checkable<\/strong>: \u8a2d\u7f6e\u52fe\u9078\u662f\u5426\u53ef\u7528\u72c0\u614b\uff0c\u985e\u4f3cstate_enabled\uff0c\u53ea\u662fstate_enabled\u6703\u5f71\u97ff\u89f8\u6478\u6216\u9ede\u64ca\u4e8b\u4ef6\uff0c\u800cstate_checkable\u5f71\u97ff\u52fe\u9078\u4e8b\u4ef6<\/li>\n<li class=\"md_li\"><strong>android:state_focused<\/strong>: \u8a2d\u7f6e\u662f\u5426\u7372\u5f97\u7126\u9ede\u72c0\u614b\uff0ctrue\u8868\u793a\u7372\u5f97\u7126\u9ede\uff0c\u9ed8\u8a8d\u70bafalse\uff0c\u8868\u793a\u672a\u7372\u5f97\u7126\u9ede<\/li>\n<li class=\"md_li\"><strong>android:state_window_focused<\/strong>: \u8a2d\u7f6e\u7576\u524d\u7a97\u53e3\u662f\u5426\u7372\u5f97\u7126\u9ede\u72c0\u614b\uff0ctrue\u8868\u793a\u7372\u5f97\u7126\u9ede\uff0cfalse\u8868\u793a\u672a\u7372\u5f97\u7126\u9ede\uff0c\u4f8b\u5982\u62c9\u4e0b\u901a\u77e5\u6b04\u6216\u5f48\u51fa\u5c0d\u8a71\u6846\u6642\uff0c\u7576\u524d\u754c\u9762\u5c31\u6703\u5931\u53bb\u7126\u9ede\uff1b\u53e6\u5916\uff0cListView\u7684ListItem\u7372\u5f97\u7126\u9ede\u6642\u4e5f\u6703\u89f8\u767ctrue\u72c0\u614b\uff0c\u53ef\u4ee5\u7406\u89e3\u70ba\u7576\u524d\u7a97\u53e3\u5c31\u662fListItem\u672c\u8eab<\/li>\n<li class=\"md_li\"><strong>android:state_activated<\/strong>: \u8a2d\u7f6e\u662f\u5426\u88ab\u6fc0\u6d3b\u72c0\u614b\uff0ctrue\u8868\u793a\u88ab\u6fc0\u6d3b\uff0cfalse\u8868\u793a\u672a\u6fc0\u6d3b\uff0cAPI Level 11\u53ca\u4ee5\u4e0a\u624d\u652f\u6301\uff0c\u53ef\u901a\u904e\u7a0b\u5f0f\u78bc\u8abf\u7528\u63a7\u4ef6\u7684setActivated(boolean)\u65b9\u6cd5\u8a2d\u7f6e\u662f\u5426\u6fc0\u6d3b\u8a72\u63a7\u4ef6<\/li>\n<li class=\"md_li\"><strong>android:state_hovered<\/strong>: \u8a2d\u7f6e\u662f\u5426\u9f20\u6a19\u5728\u4e0a\u9762\u6ed1\u52d5\u7684\u72c0\u614b\uff0ctrue\u8868\u793a\u9f20\u6a19\u5728\u4e0a\u9762\u6ed1\u52d5\uff0c\u9ed8\u8a8d\u70bafalse\uff0cAPI Level 14\u53ca\u4ee5\u4e0a\u624d\u652f\u6301<\/li>\n<\/ul>\n<p class=\"md_block\"><span class=\"md_line\">\u63a5\u4e0b\u4f86\uff0c\u770b\u770b\u793a\u4f8b\u7a0b\u5f0f\u78bc\uff0c\u4ee5\u4e0b\u662fbg_btn_selector.xml\u7684\u7a0b\u5f0f\u78bc\uff0c\u7528\u65bc\u6309\u9215\u7684\u80cc\u666f\uff1a<\/span><\/p>\n<div class=\"codehilite code_lang_xml  highlight\">\n<pre><span class=\"cp\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;<\/span>\n<span class=\"nt\">&lt;selector<\/span> <span class=\"na\">xmlns:android=<\/span><span class=\"s\">\"http:\/\/schemas.android.com\/apk\/res\/android\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u7576\u524d\u7a97\u53e3\u5931\u53bb\u7126\u9ede\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:drawable=<\/span><span class=\"s\">\"@drawable\/bg_btn_lost_window_focused\"<\/span> <span class=\"na\">android:state_window_focused=<\/span><span class=\"s\">\"false\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u4e0d\u53ef\u7528\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:drawable=<\/span><span class=\"s\">\"@drawable\/bg_btn_disable\"<\/span> <span class=\"na\">android:state_enabled=<\/span><span class=\"s\">\"false\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u6309\u58d3\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:drawable=<\/span><span class=\"s\">\"@drawable\/bg_btn_pressed\"<\/span> <span class=\"na\">android:state_pressed=<\/span><span class=\"s\">\"true\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u88ab\u9078\u4e2d\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:drawable=<\/span><span class=\"s\">\"@drawable\/bg_btn_selected\"<\/span> <span class=\"na\">android:state_selected=<\/span><span class=\"s\">\"true\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u88ab\u6fc0\u6d3b\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:drawable=<\/span><span class=\"s\">\"@drawable\/bg_btn_activated\"<\/span> <span class=\"na\">android:state_activated=<\/span><span class=\"s\">\"true\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u9ed8\u8a8d\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:drawable=<\/span><span class=\"s\">\"@drawable\/bg_btn_normal\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n<span class=\"nt\">&lt;\/selector&gt;<\/span>\n<\/pre>\n<\/div>\n<p class=\"md_block\"><span class=\"md_line\">\u800c\u4e0b\u9762\u5247\u662ftext_btn_selector.xml\u7684\u7a0b\u5f0f\u78bc\uff0c\u7528\u65bc\u6309\u9215\u7684\u6587\u672c\u984f\u8272\uff1a<\/span><\/p>\n<div class=\"codehilite code_lang_xml  highlight\">\n<pre><span class=\"cp\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;<\/span>\n<span class=\"nt\">&lt;selector<\/span> <span class=\"na\">xmlns:android=<\/span><span class=\"s\">\"http:\/\/schemas.android.com\/apk\/res\/android\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u7576\u524d\u7a97\u53e3\u5931\u53bb\u7126\u9ede\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:color=<\/span><span class=\"s\">\"@android:color\/black\"<\/span> <span class=\"na\">android:state_window_focused=<\/span><span class=\"s\">\"false\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u4e0d\u53ef\u7528\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:color=<\/span><span class=\"s\">\"@android:color\/background_light\"<\/span> <span class=\"na\">android:state_enabled=<\/span><span class=\"s\">\"false\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u6309\u58d3\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:color=<\/span><span class=\"s\">\"@android:color\/holo_blue_light\"<\/span> <span class=\"na\">android:state_pressed=<\/span><span class=\"s\">\"true\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u88ab\u9078\u4e2d\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:color=<\/span><span class=\"s\">\"@android:color\/holo_green_dark\"<\/span> <span class=\"na\">android:state_selected=<\/span><span class=\"s\">\"true\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u88ab\u6fc0\u6d3b\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:color=<\/span><span class=\"s\">\"@android:color\/holo_green_light\"<\/span> <span class=\"na\">android:state_activated=<\/span><span class=\"s\">\"true\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n    <span class=\"c\">&lt;!-- \u9ed8\u8a8d\u6642 --&gt;<\/span>\n    <span class=\"nt\">&lt;item<\/span> <span class=\"na\">android:color=<\/span><span class=\"s\">\"@android:color\/white\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n<span class=\"nt\">&lt;\/selector&gt;<\/span>\n<\/pre>\n<\/div>\n<p class=\"md_block\"><span class=\"md_line\">\u6700\u5f8c\uff0c\u5247\u662f\u5728\u63a7\u4ef6\u4e2d\u7684\u5f15\u7528\uff1a<\/span><\/p>\n<div class=\"codehilite code_lang_xml  highlight\">\n<pre><span class=\"nt\">&lt;Button<\/span> \n    <span class=\"na\">android:id=<\/span><span class=\"s\">\"@+id\/btn_default\"<\/span>\n    <span class=\"na\">android:layout_width=<\/span><span class=\"s\">\"match_parent\"<\/span>\n    <span class=\"na\">android:layout_height=<\/span><span class=\"s\">\"wrap_content\"<\/span>\n    <span class=\"na\">android:layout_margin=<\/span><span class=\"s\">\"8dp\"<\/span>\n    <span class=\"na\">android:background=<\/span><span class=\"s\">\"@drawable\/bg_btn_selector\"<\/span>\n    <span class=\"na\">android:text=<\/span><span class=\"s\">\"\u9ed8\u8a8d\u6309\u9215\"<\/span>\n    <span class=\"na\">android:textColor=<\/span><span class=\"s\">\"@color\/text_btn_selector\"<\/span> <span class=\"nt\">\/&gt;<\/span>\n<\/pre>\n<\/div>\n<p class=\"md_block md_has_block_below md_has_block_below_ol\"><span class=\"md_line\">\u90a3\u9ebc\uff0c\u5728\u4f7f\u7528\u904e\u7a0b\u4e2d\uff0c\u6709\u5e7e\u9ede\u9084\u662f\u9700\u8981\u6ce8\u610f\u548c\u77ad\u89e3\u7684\uff1a<\/span><\/p>\n<ol>\n<li class=\"md_li\">selector\u4f5c\u70badrawable\u8cc7\u6e90\u6642\uff0citem\u6307\u5b9a<strong>android:drawable<\/strong>\u5c6c\u6027\uff0c\u4e26\u653e\u65bc<strong>drawable<\/strong>\u76ee\u9304\u4e0b\uff1b<\/li>\n<li class=\"md_li\">selector\u4f5c\u70bacolor\u8cc7\u6e90\u6642\uff0citem\u6307\u5b9a<strong>android:color<\/strong>\u5c6c\u6027\uff0c\u4e26\u653e\u65bc<strong>color<\/strong>\u76ee\u9304\u4e0b\uff1b<\/li>\n<li class=\"md_li\">color\u8cc7\u6e90\u4e5f\u53ef\u4ee5\u653e\u65bcdrawable\u76ee\u9304\uff0c\u5f15\u7528\u6642\u5247\u7528<strong>@drawable<\/strong>\u4f86\u5f15\u7528\uff0c\u4f46\u4e0d\u63a8\u85a6\u9019\u9ebc\u505a\uff0cdrawable\u8cc7\u6e90\u548ccolor\u8cc7\u6e90\u6700\u597d\u9084\u662f\u5206\u958b\uff1b<\/li>\n<li class=\"md_li\"><strong>android:drawable<\/strong>\u5c6c\u6027\u9664\u4e86\u5f15\u7528<strong>@drawable<\/strong>\u8cc7\u6e90\uff0c\u4e5f\u53ef\u4ee5\u5f15\u7528<strong>@color<\/strong>\u984f\u8272\u503c\uff1b\u4f46<strong>android:color<\/strong>\u53ea\u80fd\u5f15\u7528<strong>@color<\/strong>\uff1b<\/li>\n<li class=\"md_li\">item\u662f\u5f9e\u4e0a\u5f80\u4e0b\u5339\u914d\u7684\uff0c\u5982\u679c\u5339\u914d\u5230\u4e00\u500bitem\u90a3\u5b83\u5c31\u5c07\u63a1\u7528\u9019\u500bitem\uff0c\u800c\u4e0d\u662f\u63a1\u7528\u6700\u4f73\u5339\u914d\u7684\u898f\u5247\uff1b\u6240\u4ee5\u8a2d\u7f6e\u9ed8\u8a8d\u7684\u72c0\u614b\uff0c\u4e00\u5b9a\u8981\u5beb\u5728\u6700\u5f8c\uff0c\u5982\u679c\u5beb\u5728\u524d\u9762\uff0c\u5247\u5f8c\u9762\u6240\u6709\u7684item\u90fd\u4e0d\u6703\u8d77\u4f5c\u7528\u4e86\u3002<\/li>\n<\/ol>\n<p class=\"md_block md_has_block_below md_has_block_below_ul\"><span class=\"md_line\">\u53e6\u5916\uff0cselector\u6a19\u7c64\u4e0b\u6709\u5169\u500b\u6bd4\u8f03\u6709\u7528\u7684\u5c6c\u6027\u8981\u8aaa\u4e00\u4e0b\uff0c\u6dfb\u52a0\u4e86\u4e0b\u9762\u5169\u500b\u5c6c\u6027\u4e4b\u5f8c\uff0c\u5247\u6703\u5728\u72c0\u614b\u6539\u8b8a\u6642\u51fa\u73fe\u6de1\u5165\u6de1\u51fa\u6548\u679c\uff0c\u4f46\u5fc5\u9808\u5728API Level 11\u53ca\u4ee5\u4e0a\u624d\u652f\u6301\uff1a<\/span><\/p>\n<ul>\n<li class=\"md_li\"><strong>android:enterFadeDuration<\/strong> \u72c0\u614b\u6539\u8b8a\u6642\uff0c\u65b0\u72c0\u614b\u5c55\u793a\u6642\u7684\u6de1\u5165\u6642\u9593\uff0c\u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d<\/li>\n<li class=\"md_li\"><strong>android:exitFadeDuration<\/strong> \u72c0\u614b\u6539\u8b8a\u6642\uff0c\u820a\u72c0\u614b\u6d88\u5931\u6642\u7684\u6de1\u51fa\u6642\u9593\uff0c\u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d<\/li>\n<\/ul>\n<p class=\"md_block md_has_block_below md_has_block_below_ol\"><span class=\"md_line\">\u6700\u5f8c\uff0c\u95dc\u65bcListView\u7684ListItem\u6a23\u5f0f\uff0c\u6709\u5169\u7a2e\u8a2d\u7f6e\u65b9\u5f0f\uff0c\u4e00\u7a2e\u662f\u5728ListView\u6a19\u7c64\u88e1\u8a2d\u7f6e<strong>android:listSelector<\/strong>\u5c6c\u6027\uff0c\u53e6\u4e00\u7a2e\u662f\u5728ListItem\u7684\u4f48\u5c40layout\u88e1\u8a2d\u7f6e<strong>android:background<\/strong>\u3002\u4f46\u662f\uff0c\u9019\u5169\u7a2e\u8a2d\u7f6e\u7684\u7d50\u679c\u537b\u6709\u8457\u4e0d\u540c\u3002\u540c\u6642\uff0c\u4f7f\u7528ListView\u6642\u4e5f\u6709\u4e9b\u5176\u4ed6\u9700\u8981\u6ce8\u610f\u7684\u5730\u65b9\uff0c\u7e3d\u7d50\u5982\u4e0b\uff1a<\/span><\/p>\n<ol>\n<li class=\"md_li\"><strong>android:listSelector<\/strong>\u8a2d\u7f6e\u7684ListItem\u9ed8\u8a8d\u80cc\u666f\u662f\u900f\u660e\u7684\uff0c\u4e0d\u7ba1\u4f60\u5728selector\u88e1\u600e\u9ebc\u8a2d\u7f6e\u90fd\u7121\u6cd5\u6539\u8b8a\u5b83\u7684\u80cc\u666f\u3002\u6240\u4ee5\uff0c\u5982\u679c\u60f3\u6539ListItem\u7684\u9ed8\u8a8d\u80cc\u666f\uff0c\u53ea\u80fd\u901a\u904e\u7b2c\u4e8c\u7a2e\u65b9\u5f0f\uff0c\u5728ListItem\u7684\u4f48\u5c40layout\u88e1\u8a2d\u7f6e<strong>android:background<\/strong>\u3002<\/li>\n<li class=\"md_li\">\u7576\u89f8\u6478\u9ede\u64caListItem\u6642\uff0c\u7b2c\u4e00\u7a2e\u8a2d\u7f6e\u65b9\u5f0f\u4e0b\uff0c<strong>state_pressed<\/strong>\u3001**state_focused**\u548c<strong>state_window_focused<\/strong>\u8a2d\u70batrue\u6642\u90fd\u6703\u89f8\u767c\uff0c\u800c\u7b2c\u4e8c\u7a2e\u8a2d\u7f6e\u65b9\u5f0f\u4e0b\uff0c\u53ea\u6709<strong>state_pressed<\/strong>\u6703\u89f8\u767c\u3002<\/li>\n<li class=\"md_li\">\n<p class=\"md_block md_has_block_below md_has_block_below_ul\"><span class=\"md_line\">\u7576ListItem\u88e1\u6709Button\u6216CheckBox\u4e4b\u985e\u7684\u63a7\u4ef6\u6642\uff0c\u6703\u6436\u4f54ListItem\u672c\u8eab\u7684\u7126\u9ede\uff0c\u5c0e\u81f4ListItem\u672c\u8eab\u7684\u89f8\u6478\u9ede\u64ca\u4e8b\u4ef6\u6703\u7121\u6548\u3002\u90a3\u9ebc\uff0c\u8981\u89e3\u6c7a\u6b64\u554f\u984c\uff0c\u6709\u4e09\u7a2e\u89e3\u6c7a\u65b9\u6848\uff1a<\/span><\/p>\n<ul>\n<li class=\"md_li\">\u5c07Button\u6216CheckBox\u63db\u6210TextView\u6216ImageView\u4e4b\u985e\u7684\u63a7\u4ef6<\/li>\n<li class=\"md_li\">\u8a2d\u7f6eButton\u6216CheckBox\u4e4b\u985e\u7684\u63a7\u4ef6\u8a2d\u7f6e<strong>focusable<\/strong>\u5c6c\u6027\u70bafalse<\/li>\n<li class=\"md_li\">\u8a2d\u7f6eListItem\u7684\u6839\u4f48\u5c40\u5c6c\u6027<strong>android:descendantFocusability=&#8221;blocksDescendants&#8221;<\/strong><\/li>\n<\/ul>\n<p class=\"md_block md_has_block_below md_has_block_below_ul\"><span class=\"md_line\">\u7b2c\u4e09\u7a2e\u662f\u6700\u65b9\u4fbf\uff0c\u4e5f\u662f\u63a8\u85a6\u7684\u65b9\u5f0f\uff0c\u5b83\u6703\u5c07ListItem\u6839\u4f48\u5c40\u4e0b\u7684\u6240\u6709\u5b50\u63a7\u4ef6\u90fd\u8a2d\u7f6e\u70ba\u4e0d\u80fd\u7372\u53d6\u7126\u9ede\u3002<strong>android:descendantFocusability<\/strong>\u5c6c\u6027\u7684\u503c\u6709\u4e09\u7a2e\uff0c\u5176\u4e2d\uff0cViewGroup\u662f\u6307\u8a2d\u7f6e\u8a72\u5c6c\u6027\u7684View\uff0c\u672c\u4f8b\u4e2d\u5c31\u662fListItem\u7684\u6839\u4f48\u5c40\uff1a<\/span><\/p>\n<ul>\n<li class=\"md_li\"><strong>beforeDescendants<\/strong>\uff1aViewGroup\u6703\u512a\u5148\u5176\u5b50\u985e\u63a7\u4ef6\u800c\u7372\u53d6\u5230\u7126\u9ede<\/li>\n<li class=\"md_li\"><strong>afterDescendants<\/strong>\uff1aViewGroup\u53ea\u6709\u7576\u5176\u5b50\u985e\u63a7\u4ef6\u4e0d\u9700\u8981\u7372\u53d6\u7126\u9ede\u6642\u624d\u7372\u53d6\u7126\u9ede<\/li>\n<li class=\"md_li\"><strong>blocksDescendants<\/strong>\uff1aViewGroup\u6703\u8986\u84cb\u5b50\u985e\u63a7\u4ef6\u800c\u76f4\u63a5\u7372\u5f97\u7126\u9ede<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<blockquote>\n<p class=\"md_block\"><span class=\"md_line\">\u7d50\u5c3e<\/span><\/p>\n<\/blockquote>\n<p class=\"md_block\"><span class=\"md_line\">selector\u7bc7\u5c31\u8b1b\u5230\u9019\u88e1\u4e86\uff0c\u793a\u4f8b\u7a0b\u5f0f\u78bc\u4e5f\u5df2\u7d93\u66f4\u65b0\u653e\u4e0agithub\uff0c\u5730\u5740\uff1a<\/span> <span class=\"md_line md_line_dom_embed\"><a class=\"md_compiled\" href=\"https:\/\/github.com\/keeganlee\/kstyle.git\">https:\/\/github.com\/keeganlee\/kstyle.git<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8f49\u8f09\u81eaKeegan\u5c0f\u92fc \u539f\u6587\u93c8\u63a5\uff1ahttp:\/\/keeganlee.me\/post\/android\/20150 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":299,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[10],"class_list":["post-723","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-2","tag-android-app"],"_links":{"self":[{"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=\/wp\/v2\/posts\/723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=723"}],"version-history":[{"count":0,"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=\/wp\/v2\/posts\/723\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=\/"}],"wp:attachment":[{"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=723"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=723"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ray650128.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}