创建自定义ViewGroup
一,概要:
使用自定义View 和ViewGroup组织应用程序布局是一个好方法,定制组件的同时允许开发者提供自定义行为和功能,以后,开发者
在需要创建复杂布局的视乎,首先应该考虑使用自定义ViewGroup是不是更适合,虽然在开始时,这样做会增加一定的工作量,但是,这是值得的
二,基本知识点:
要想绘制自定义ViewGroup要涉及到两个方法:
measure(int , int):该方法从上到下遍历视图树。在递归遍历过程中,每个视图都会从下层传递尺寸和规格。当measure方法遍历结束,每个视图都保存了各自的尺寸信息。
layout(int, int, int, int):该方法也是从上而下遍历视图树,在遍历过程中,每个父视图通过测量过程的结果定位所有子视图的位置信息。
思路整理:
- 要设置每个子View的横向偏移和竖向偏移普通的android属性中没有,所以需要自定义属性来获取值后来进行设置
- 通过复写ViewGroup中的onMeasure(int,int)方法测量Viewgroup和子View的大小,从而利用onLayout(int,int,int,int)来放置到具体区域
三.效果图:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAUACAYAAABuzmU9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAKcISURBVHhe7N0FYBRn+sfxq/yvLlBoqVEDWhyKtJS6UHejdqXuLS3u7g7BQwiQ1Ht1d3e5urvbXe962rt7/u9vktlONjPLTJLNMex3Hj6bMJn13ZnfvPvOu79xkwEAAACILXQmAAAAgHChMwEAAACEC50JAAAAIFzoTAAAAADhQmcCAAAACBc6EwAAAEC40JkFaY011rB11lnHmjZtaieeeKJNnDjJli5dasuWLbPly5fXudLSUu86Tj65p3edum7dhrDbBgAAgFVG6MyCo+DaoEED23vvvW3kyJE2Z84cLzyXlZV5ysvL65R/ubqOoqIi7zr33Xdfa9iwISE6pdZcc03bYIMNbOutt7btttuuXuk6N9xwQ+82hN02AABQp0JnFhy1/irATp8+3Wsd9gNufVEr98yZM23//ff3bkvYbcSqTeFZryE9j3pOw3ac8kHXpR2+Qw45xDbeeOPQ2xaHdtzWWmut/yl2HuvXuuuua1tttZW1bdvWjjvuOBs2bJgtWrTIrr32Wrv33nvt1ltv9Xbyp02bZpdcconXwLDjjjt6jQ35fK6uuuoq++tf/2pJpn/+85928cUX2//93/+FXmZdOOKII+zII4/M4PUKFLTQmQVnm223teEjRnhBdoULJLWybIWtWOgscb+XOisCf8tBwV0t0WpRDLuNWLUpiGgHTK+hsKCbT3rtzJo1y3baaafQ27YyCgIK37vvvrt17drVOnfuXK90nd26dct7MKtravG/4oor7IcffrBffvmlRt544w3r3r17vd5vheBBgwbZ3XffbW+99Zb9+c9/tn//+9/2n//8x/Pf//63Cn++QuoXX3xhzzzzjNcFTSFSITzsOmrjxx9/rIzFyaa///3vNmDAAPvtb38berm1pQCtx070OwF61bbFFlt4789XX33Ve22Evf9WFbp9b7/9tvXr18/bloTdH6xyQmcWHPV5nj1nTmiwjbTCheQVywP0/xW2bMYKKz1mhS0/04XiQc5kN3+eU6LzZF1GFnXn6HnKKXW2YlarXpMmTbyP+LfZZpuMbd0OQxLB8+qy9AZff/31Q6+zrqyx/sa2/hEXW4MLZ1qDS+bWLXeZax16ia2z0aah110T2vGpz5bnbLrunXfeOfS2rYxeb9tvv72NGjXKhgwZYoMHD/7VIBlUdV7mb+HzFc6iz/Pr77oun65bt1+v2bDbuCraaKONvPBc2+m9997L+/1W0NXOil4r2ljX1fTpp5/aZZdd5q0b6mq9pUBR0+nnn3+2Cy+8MC+Pp0Jzo0aNbLPNNiNAr+K03XvggQe8Hb80Tdph1Q7qDjvsEHq/sEoJnVmn1LJ1+umnW0lJiddS5m/w9XuS//vzsv8vCg/z5s2zXr162ZZbbhl6O3KZOHGiLXG3zw/BOS0rtRXFC10onm0rZk93plX81P8Xz7dls5bakhPKrGSXMlvWwQXj/ZyzXJAe6X4ucsIus5Ieo8mTp9RJX1a1wvzud7/zWmQUaIYOHWojRozwgopaumXMmDEezRP///680aNHe/S7zqvLEF3e5ZdfbptvvnnoddfW+httbGsecrFtevEca9h7kbO4ji2yjV2Q3uCwi+03a9RNv2EFaD2H2a9PtdRlz8+Xli1bht62ldHrTeFV76EpU6ZUe/4jjQqZ5wv7m+Y5ozx6zY305k+ePNnmzp1r7dq1S1WA3mSTTSo3e2Z/+9vf7IMPPojts88+q7JxD7v8uqDndr/99rN77rnHfvrpp8prqz6pdfn111+3u+66y+vCoU9StF79/e9/b0888YR9/fXXkWFErdfaCdBzqk8Rwm5HErUJ0Jr0XPTt27fOX0sE6PRQS67C6AsvvOB9whW2zKpGXamefPJJ73brvRS2DFYpoTPrjPqFnnzyybZkyZLQDX6GWu6WLrXyxYutfP58K3cb0/IFC6y8uNjKXQDx/h52vixa6Z9xxhmhtyWXinDvQmwOyxWE5s+xFWMHWdkZ+1vZvttYWceGVtbB0c/uW1hZz262YkRfWz5trpX2XWZLO66w0p1XeEF6+d4uPJ/rfha5yyutfvnedVQGrrpY8atFaODAgV7rnh+cFYzGjRtnEyZM8HYa4tCy48ePt7Fjx3phR8FbfSUVonv27Bl63bW15Ym9bYOLimyzK5dYwywNQublVmyb9i52odlxv2teo6tKrMEVi2zN0yblNUAvcK/h4cOHe49jfYRoBeiabNQVspo3b25Tp0613r172+7dullrtzJv1769dejY0Tp07mTt3c/2HTtY+10rfzodOmm++71De+9nuw5O+3YVy3Ta1QvEbd1ltHN/b9uu4vLauctp6+a3btPGdnG3d9ddd/X6ruq60xig/bCnDZ+60KglPw4FsGBXhbXXXjv0Ompj00039d7z6k+sjbI/KQj/6U9/sjfffNN7f6v7jPoO67GPotunxgntlN9+++325Zdf2j/+8Y/M5eqnLvedd97xuqTU5v7UNkBr0v0799xzvdsedh01kdYArYYO3e6wvyVRm8vRpzX6NDPsb/mgrkma1C2tLhqk6oNeTx3cOlQ7pNrJDlumNtSlpS5eB2mj121NGlZjCJ1ZJ7QC1YFNCoRhG/sMBeXBg638wgut3IXf8pNOsvITTrByF7zLzzzTyi+5xMpd+PPCdNj5s8x3ATzs9uSydGmpLV+23AXwihbtKj9Ll9qyuTOtdHhfW3HCXlbWeWsra7uhlbde0/mNlbdxWskaVtZmPSvbfVtb0XNvWzZkkC3tN8eKjyq1pe3d5bR34blbmS05cbktnewuu7Ty8kOuty5W+s2aNfPCswKcgq+Cs4LcpEmTvFZGBZa41EKo8ypIa4OsEK3L1s5KPjYiG106LxN2fQrTG19R7AXozfvEC9INXGhuclWx7dC/2Na/TC3PxS48u8u5fJGtfd5sW+u8WfabOlq5hgVoHXylfqJHHXWUd6Cf5qlVL19dPWrTAq3Xi27v+eefb1s3bWobNNjUNtmsoW26uQsM22zp/dy0UUNrsEVj27TxZt7fGrr5DbbcwjZu2MDNa2SbNNrMNt50E9tUy7j5G7kAp79t7JbfyM3feLMGtkmTxrahu+wNNt7Y1ttoA9uscWPvkyO9zlaFAK311rHHHmv33Xef91rXY6NweaZbF+mjVX2a5r/mgwFaHxdnX1Yu2nEIdv/wA6c2cHp93HDDDV6LlH9dTz/9tNcQoecpznvusMMO81rfgsFZk/pc9+/f3+vOoQaOsPOujK5fYeiYY47x1ld/+ctfKi+9YlKfan2aoaAZdv6VqYsArUndObRDWFfrqPoM0Hp8tbOiYxtuuumm0GVy0XkfeeQR77nwJ30C8eCDD9pJbhsb97ZrHf/www9XeY79y4nTgKLzv/LKK5lPL3R7br75Zm9nM5+Pnz5R0eQfVKrnTAfB7rPPPqskP9jqMdHrXyG6NjuhvpU9f1HPgT550vNWE8oJtd1pqc3rXzsKahh4+eWXvU+j/Em/P/vss96n53W0UxU6s9b0pHTs2NE7qCpsQ+9Ri7OC8XHHWbl7AZXvtpuVq49ep05W7jYu3s8uXazc7UGWH3BARbh24a/crbBDL6+SNj5htykXBWiF12pKl9myWVNs+TlHuHDcyMpb/F9FYG7ntK/UofKn5knrNax8599aWbvNbdkVJ1nJuJm2+EgXond14XjXMlu25wpb0m+ZlS5xl71Mql9vXYQItSiqpVjhWS9oBWeFFIWkGTNmeKNFxKFl9Tz6QVovTAULtWorVORjJdjg0rkVXS0qg7BC73qXFdt2/UrspAlu3vnTbNPe7qebHwzMVbmw7S5jvUsX2emTl9oBo5bYby9eZBtfttCF51m29rkys04DdPZrUY/Vbu51rf54CokKFdqR0eOajxBdFwFa/UebtdzFttihqW21fVPbeqftrWnLFrb1jtt7/9+m+U621Q7bWZNtt7btO7S2nffezbZ0/99Kf3e22GYr26rZDrZ1i2bu962tyXZNbUt3GZu75bfYblvbqvmOtnnTra3x1ltaQ2fr7bezs88+29upa9Omzf88QOv++ytdvc41TyNQKIxpw3bOOedklg124bj//vsz8+PIDtD+fHWBeO6557zg+8knn3jvY81XX2NNL730kvfpkr98Nj1+GsUiOGljrPOrpT/sPLWlg+p0QKI20sHAro1pTfpy1lWA1qSwoMAYdj1JBQN0XY/CoRGYtL6488477cMPP6zyOH733Xeh5wmjwHjNNddUnjN80mWv7JNOXc71119fbQcsOPmXE3Z+ueiii7zXnia9NvR69v+v+6hPYsLOVxf815D//6OPPtr7/6o66fb5ryd/8m97TfjPX65Jz58ySNj59elUTSc1JCVdjx/gMp5yil7/H330UY1f/4cffrj36djKJu1AaP0ddhkJhM6sNb0xFN4iP7YuKbHyc8+1crdHmAnMK9O1q5X36GHl/fqtNESH3aZcKr4wpXqQXVa8yJZf3NNW7Li5lbVWKP4/K+sQoq3Txv3dp2V3WcdWtN3Kll15pC2dOs8WnbfEivd3epRY8cilVjy/tCJEV7ZEB9VFiGjRooXXUuy3PCsAKwgrvM2ePdtrES2SyROtaEhfK+p3uRX1v8KKhg20opkzvAMatYxoL1BBWgFLIVovdHUJUSjMS4C+JBigi+23lxZb84FLbPSC5bZH3xn2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29DNW6OegxrCKRz6oZmgiLTTDpS/MxXcscr+f/bfgJUInVlwtJHYZNNNrZsL0b379LORY8bb5GkzvGA7fXaeuMvWdYwaO96udNe5R/c9rUGDhmywUkqBQ/39dZCYulKIxr1c2e+5xD2PWp4VnuuqS1NdU4jexd3OY1yAvuiII+yqww61yw8/3E479FDr4sL1pg0a8LoHAKRJ6MyCpA34Ouuua023296OPPoYGzR0uE2dMTs8/NaBqTNne9dx9LHH2/bb7+B16idEpJ+ewySC56nN+f3rX1Wttfbatv4GG1iDhg2tUePG3kgG6kP8fzo4LQW3HwCAgNCZcNSi6H+MGfV73OWifpc0hB8AAABkhM4EAAAAEC50JgAAAIBwoTMBAAAAhAudCQAAACBc6EwAAAAA4UJnAgAAAAjToUMHAwAAABDPb/StaQAAAADiIUADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIoF4DdPc99rAZ06faxx++az//6Xv7608/rHb+/Kdv7d6777BzzjnbWrRoEfo4AAAAIL3qLUDvu+8+9v7br9ufvv/Ufvruk9Xan+T7L2zq5Am28847hz4eAAAASKd6CdBtWre2F5993P783ccuYBaQHz63C84723baaafQxwUAAADpUy8B+swzTrGfvlfrbEjIXK19YvffdVPoYwIAAIB0qpcAPX7kIPvxq4/sp29dqKwDf/r2I/vh21ftm2+esz9++37oMsl8ZD9+94Z9/c3T9uPX74X8vea++ui10McEAAAA6VQvAXr+jAkumH7gBd+68OM379uL782zh9+60j767AEXomt32T9+95a9+02J3f7yefbxJy5Ef1N3t/Wbj1+z5s2bhz4uAAAASJ96CdALZtVtgP7jtx/aux/cb7c8d5498sYw+/LLF938Dyu5Zb573376/h376YfXnVcr6QDGt9zf3vPO7y//47fv2yff3m73vHGh3f7oKPvqM7dc1vXVBgEaAABg9ZLKAC3ff/WOPfPqQrvhmZ720nvF9sPXb9tP371jP//pWfv5r3faX/5xtf3lXyX2l18W2o+/zLHv/+X8c7F997dr7fufHrIfvn/Nhef37Ltv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jCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpIL23jqs0EomSCEUXFKQI0EIkADaSXtnHVZgJRMsGIouIUARqIRIAG0kvbuGozgSiZYERRcYoADUQiQAPppW1ctZlAlEwwoqg4RYAGIhGggfTSNq7aTCBKJhhRVJwiQAORCNBAemkbV20mECUTjCgqThGggUgEaCC9tI2rNhOIkglGFBWnCNBAJAI0kF7axlWbCUTJBCOKilMEaCASARpI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AAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgAAABIgQAMAAAAJEKABAACABAjQAAAAQAIEaAAAACABAjQAAACQAAEaAAAASIAADQAAACRAgAYAAAASIEADAAAACRCgAQAAgAQI0AAAAEACBGgAAAAgAQI0AAAAkAABGgAAAEiAAA0AAAAkQIAGAAAAEiBAAwAAAAkQoAEAAIAECNAAAABAAgRoAAAAIAECNAAAAJAAARoAAABIgAANAAAAJECABgD8f7t1TAAAAMMwyL/qzsLyc+ABAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgECgAQAgEGgAAAgEGgAAAoEGAIBAoAEAIBBoAAAIBBoAAAKBBgCAQKABACAQaAAACAQaAAACgQYAgLftAO3nG7d4Ua4FAAAAAElFTkSuQmCC" alt="" width="519" height="922" />
四.代码:
1)自定义属性,在res/values中没有attr.xml文件就新建一个
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="myrectangle">
<attr name="horizontal_distance" format="dimension" />
<attr name="verticle_distance" format="dimension" />
</declare-styleable>
<declare-styleable name="MyLayoutParams">
<attr name="layout_verticle_distance" format="dimension" />
</declare-styleable>
</resources>
2)设置这些属性未指定时的默认值大小,在dimens.xml中添加:
<dimen name="myRectangle_horizontal_distance">10dp</dimen>
<dimen name="myRectangle_verticle_distance">10dp</dimen>
3)自定义ViewGroup
public class MyViewGoup extends ViewGroup {
private int mHorzntialDistance;
private int mVerticalDIstance;
public MyViewGoup(Context context) {
super(context);
}
public MyViewGoup(Context context, AttributeSet attrs) {
super(context, attrs);
/**
* 获取自定义属性值
*/
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.myrectangle);
try {
mHorzntialDistance = a.getDimensionPixelSize(
R.styleable.myrectangle_horizontal_distance,
getResources().getDimensionPixelSize(
R.dimen.myRectangle_horizontal_distance));
mVerticalDIstance = a.getDimensionPixelSize(
R.styleable.myrectangle_verticle_distance,
getResources().getDimensionPixelSize(
R.dimen.myRectangle_verticle_distance));
} finally {
a.recycle();
}
}
public MyViewGoup(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = getPaddingLeft();
int height = getPaddingTop();
/**
* 测量子view的大小
*/
int childrenCount = getChildCount();
int verticleDistance;
for (int i = 0; i < childrenCount; i++) {
View child = getChildAt(i);
measureChild(child, widthMeasureSpec, heightMeasureSpec);
/**
* 子View设置了自定义属性值就lp中verticleDistance就会获取到值
*/
LayoutParams lp = (LayoutParams) child.getLayoutParams();
width = getPaddingLeft() + mHorzntialDistance * i;
lp.x = width;
lp.y = height;
verticleDistance = mVerticalDIstance;
if (lp.verticleDistance > 0) {
verticleDistance += lp.verticleDistance;
}
width += child.getMeasuredWidth();
height += verticleDistance;
}
/**
* 给ViewGroup设置大小. /** 因为设计者可以通过调用setMeasuredDimension决定视图的最终大小
* ,例如调用setMeasuredDimension
* (100,100)将视图的mMeasuredWidth和mMeasuredHeight设置为100
* ,100,那么父视图提供的大小以及程序员在xml中设置的layout_width和layout_height将完全不起作用
* ,当然良好的设计一般会根据子视图的measureSpec来设置mMeasuredWidth和mMeasuredHeight的大小
*/
width += getPaddingRight();
height += getChildAt(getChildCount() - 1).getMeasuredHeight()
+ getPaddingBottom();
if (MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.EXACTLY) {
System.out.println("是AT_MOST,AT_MOST,AT_MOSTAT_MOSTAT_MOSTAT_MOST");
}
/**
* resolveSize的源码
* public static int resolveSize(int size, int measureSpec) {
int result = size;
int specMode = MeasureSpec.getMode(measureSpec);
int specSize = MeasureSpec.getSize(measureSpec);
switch (specMode) {
case MeasureSpec.UNSPECIFIED:
result = size;
break;
case MeasureSpec.AT_MOST:
result = Math.min(size, specSize);
break;
case MeasureSpec.EXACTLY:
result = specSize;
break;
}
return result;
}
所以不管怎么谁知其实都是屏幕的大小,这widthMeasureSpec的mode类型是EXACTLY
*/
setMeasuredDimension(resolveSize(width, widthMeasureSpec),
resolveSize(height, heightMeasureSpec));
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
/**
* 给子View设置位置(其实感觉是指定一块区域)
*/
int childrenCount = getChildCount();
for (int i = 0; i < childrenCount; i++) {
View child = getChildAt(i);
LayoutParams lp = (LayoutParams) child.getLayoutParams();
child.layout(lp.x, lp.y, lp.x + child.getMeasuredWidth(), lp.y
+ child.getMeasuredHeight());
}
}
@Override
protected boolean checkLayoutParams(android.view.ViewGroup.LayoutParams p) {
return p instanceof LayoutParams;
}
@Override
protected LayoutParams generateDefaultLayoutParams() {
return new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
}
@Override
public LayoutParams generateLayoutParams(AttributeSet attrs) {
return new LayoutParams(getContext(), attrs);
}
@Override
protected LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
return new LayoutParams(p.width, p.height);
}
private class LayoutParams extends ViewGroup.LayoutParams {
int x;
int y;
public int verticleDistance;
public LayoutParams(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.MyLayoutParams);
try {
/**
* 获取子View设置的竖直偏移量
*/
verticleDistance = a
.getDimensionPixelSize(
R.styleable.MyLayoutParams_layout_verticle_distance,
-1);
} finally {
a.recycle();
}
}
public LayoutParams(int x, int y) {
super(x, y);
}
public LayoutParams(android.view.ViewGroup.LayoutParams arg0) {
super(arg0);
}
}
}
4)activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:myrectangle="http://schemas.android.com/apk/res/com.example.myviewgroup"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<com.example.myviewgroup.view.MyViewGoup
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF00FF"
myrectangle:horizontal_distance="70dp"
myrectangle:verticle_distance="50dp" >
<View
android:layout_width="100dp"
android:layout_height="150dp"
android:background="#FF0000" />
<View
android:layout_width="100dp"
android:layout_height="150dp"
android:background="#00FF00" />
<View
android:layout_width="100dp"
android:layout_height="150dp"
android:background="#0000FF" />
</com.example.myviewgroup.view.MyViewGoup>
</LinearLayout>
随机推荐
- DHCP(六)
DHCP报文: DHCP共有八种报文,分别为DHCP Discover.DHCP Offer.DHCP Request.DHCP ACK.DHCP NAK.DHCP Release.DHCP Decl ...
- springboot redis简单结合
参考: https://www.cnblogs.com/ityouknow/p/5748830.htmlhttp://blog.csdn.net/i_vic/article/details/53081 ...
- distinct与order by
不知为啥,当我得查询中出现distinct时,order by 中必须包含要查询的列,否则报错. SELECT DISTINCT a.DetailId, a.OrderId, a.ProductId, ...
- CCPC2018-湖南全国邀请赛 G String Transformation
G.String Transformation 题目描述 Bobo has a string S = s1 s2...sn consists of letter a , b and c . He ca ...
- C#一个判断子串在父串中出现的次数
/// <summary> /// 计算字符串中子串出现的次数 /// </summary> /// <param name=”str”>字符串</param ...
- linux 下 进程和线程的区别
1.进程与线程 进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集.从内核的观点看,进程的目的就是担当分配系统资源(CPU时间.内存等)的基本单位. 线程是进程的一个执行流,是C ...
- mybatis~SQL映射
student.xml里面是这么写的: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE m ...
- jquery添加和删除多个同名的input输入框
<script type="text/javascript"> function del(obj){ $(obj).parents("li").re ...
- 黑客工具包ShadowBrokers浅析
臭名昭著的方程式组织工具包再次被公开,TheShadowBrokers 在 steemit.com博客上提供了相关消息. 本次被公开的工具包大小为117.9MB,包含23 个黑客工具,其中部分文件显示 ...
- OK6410 tftp下载内核、文件系…
飞凌官方提供了一键下载烧写linux的方式,相对来说比较方便,但是对于开发来说不够灵活,因此这篇文章把tftp相关的点介绍一下,整理下其中遇到的一些问题. 一键烧写本质上是启动位于SD卡中的Uboot ...