[{"data":1,"prerenderedAt":433},["ShallowReactive",2],{"blog-page-35":3,"blog-count":432},[4,108,154,203,261],{"id":5,"title":6,"body":7,"date":85,"description":13,"extension":86,"meta":87,"navigation":90,"path":102,"seo":103,"stem":104,"tags":105,"__hash__":107},"blogs\u002F_legacy\u002F2012\u002F2012-11-30-android%e5%ad%a6%e4%b9%a0%e6%80%bb%e7%bb%93.md","Android学习总结",{"type":8,"value":9,"toc":78},"minimark",[10,14,17,21,24,27,30,58,61,64,67],[11,12,13],"p",{},"历经近一个多月的时间，终于完成了自己的第一个android应用。途中虽然遇到不少纠结和dt的问题，可是现在回头看来却都没有留下什么深刻的印象。",[11,15,16],{},"所以趁着还没有彻底忘记之前把还记得的几处记录一下。",[18,19,20],"h2",{"id":20},"自定义textview的ondraw不触发",[11,22,23],{},"对textview进行定制之后ondraw就没有办法触发了，虽然查了资料据说要调用setWillNotDraw(false)才行。可是就算执行了还是不绘制，最后才发现问题所在。是因为排版的问题导致了textview的高度是0，由于原本设计时是想靠ondraw绘制来占高度的，结果ondraw却没有办法调用。似乎android在高度为0时为了节省资源就不调用绘制函数了。",[18,25,26],{"id":26},"textview的settextsize和gettextsize问题",[11,28,29],{},"这个问题纠结了很久，调试了半天才发现bug所在。textview在对字体进行设置时调用settextsize有好几个不同的传入值类型，目的是为了适应类似retina的功能。就好像px、dp之类的单位，之前一直没有在意过这些。所以就遇到了这个问题，具体的原因是这样的：",[31,32,33,39,42,47,50,55],"blockquote",{},[11,34,35],{},[36,37,38],"strong",{},"public void setTextSize (float size)",[11,40,41],{},"Set the default text size to the given value, interpreted as \"scaled pixel\" units. This size is adjusted based on the current density and user font size preference.",[11,43,44],{},[36,45,46],{},"public void setTextSize (int unit, float size)",[11,48,49],{},"Set the default text size to a given unit and value. See TypedValue for the possible dimension units.",[11,51,52],{},[36,53,54],{},"public float getTextSize ()",[11,56,57],{},"Returns the size (in pixels) of the default text size in this TextView.",[11,59,60],{},"settextsize在设置之后gettextsize的值就会不同，因为gettextsize的unit是pixels，而settextsize的是scaled pixel……",[18,62,63],{"id":63},"canvas的清空问题",[11,65,66],{},"由于是使用的多层绘制，所以canvas在使用时每次都必须清空。找了好久才找到一个不错的方法：",[68,69,74],"pre",{"className":70,"code":72,"language":73},[71],"language-text","Paint paint = new Paint();\npaint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));\ncanvas.drawPaint(paint);\npaint.setXfermode(new PorterDuffXfermode(Mode.SRC));\n","text",[75,76,72],"code",{"__ignoreMap":77},"",{"title":77,"searchDepth":79,"depth":80,"links":81},2,3,[82,83,84],{"id":20,"depth":79,"text":20},{"id":26,"depth":79,"text":26},{"id":63,"depth":79,"text":63},"2012-11-30","md",{"layout":88,"status":89,"published":90,"author":91,"author_login":92,"author_email":93,"author_url":94,"wordpress_id":95,"wordpress_url":96,"date_gmt":97,"excerpt":98},"post","publish",true,{"display_name":92,"login":92,"email":93,"url":94},"chaoshikari","chaoshikari@gmail.com","\u002F",518,"\u002F\u002F?p=518","2012-11-30 04:38:18 +0000",{"type":8,"value":99},[100],[11,101,13],{},"\u002F2012-11-30-android学习总结",{"title":6,"description":13},"_legacy\u002F2012\u002F2012-11-30-android%e5%ad%a6%e4%b9%a0%e6%80%bb%e7%bb%93",[106],"Android","_Qyhx1r6UH6d_BALDjSDNmGqz3LWZGq9SwZZEzNhuxs",{"id":109,"title":110,"body":111,"date":139,"description":115,"extension":86,"meta":140,"navigation":90,"path":149,"seo":150,"stem":151,"tags":152,"__hash__":153},"blogs\u002F_legacy\u002F2012\u002F2012-10-16-%e5%88%86%e9%9a%94%e7%ac%a6.md","分隔符",{"type":8,"value":112,"toc":137},[113,116,119,122,125,128,131,134],[11,114,115],{},"没有什么想写的。",[11,117,118],{},"说起来一直都是这样，找不到一个想去写的主题。",[11,120,121],{},"总是在这里堆砌一些连自己都觉得微妙的东西。",[11,123,124],{},"犯下错误，然后重新开始；跌倒，然后重新爬起来。希望生活可以按照这样的模式展开就好了。",[11,126,127],{},"只有在回头看的时候才会发现自己的不成熟，然而我并不喜欢后悔。过去的自己拼尽全力的活着，即便得出的是错误，我也不应该只是用后悔这样的方式来否定它，那样做只不过是不负责任的撇开一切而已。如果没有从一个错误中吸取经验的话，那么哪一天一定又会犯下相似的错误的吧。然而我有没有从错误中得到足够的教训呢，我不清楚，不过我想我已经尽了自己的努力。但是这种事情说到底也只是种自我中心的东西，没有什么可以讨论的必要性在里面呢。",[11,129,130],{},"所以虽然还有很多的事情没有想清楚，这里还是划下一个分隔符，来把现在和过去进行分隔。",[11,132,133],{},"不过符号这种东西，大多最后会变得没有什么意义的呢。",[11,135,136],{},"此刻的我也只能尽己所能的确保现在能够延续到未来，而这个分隔符不会成为毫无意义的东西。",{"title":77,"searchDepth":79,"depth":80,"links":138},[],"2012-10-16",{"layout":88,"status":89,"published":90,"author":141,"author_login":92,"author_email":93,"author_url":94,"wordpress_id":142,"wordpress_url":143,"date_gmt":144,"excerpt":145},{"display_name":92,"login":92,"email":93,"url":94},512,"\u002F\u002F?p=512","2012-10-16 03:35:37 +0000",{"type":8,"value":146},[147],[11,148,115],{},"\u002F2012-10-16-分隔符",{"title":110,"description":115},"_legacy\u002F2012\u002F2012-10-16-%e5%88%86%e9%9a%94%e7%ac%a6",[],"EznEKvQijf8liaVzAkeLbvnWwXq9htoS_Xj1XjgCaDw",{"id":155,"title":156,"body":157,"date":188,"description":161,"extension":86,"meta":189,"navigation":90,"path":198,"seo":199,"stem":200,"tags":201,"__hash__":202},"blogs\u002F_legacy\u002F2012\u002F2012-08-13-%e5%88%87%e6%96%ad.md","切断",{"type":8,"value":158,"toc":186},[159,162,165,168,171,174,177,180,183],[11,160,161],{},"一直在两种选择之间犹豫不决，心里期望着世界可以就这样永远不会改变。",[11,163,164],{},"忘记想做的事情，逃避着自己的人生，然后终有一天会为自己的生活迎来毁灭的吧。",[11,166,167],{},"其实自己每一天都只是在等待着破灭而已，没有任何的希望。",[11,169,170],{},"于是某一天，生命还长着呢，这样的一句话为我这样的生活埋下了崩坏的种子。让我意识到自己不过是生活在毫无意义的自我惩罚之中，不明所以的活着。",[11,172,173],{},"我将自己的生活置于相对的两极之间，然后任由理性和感性在两者之间摇摆。",[11,175,176],{},"我必须在这两者之间作出选择才行，我必须切断我与所谓的保留选择之间的联系才行。将不选择作为选择的逃避行为必须在其本身给我带来破灭之前被终结。",[11,178,179],{},"于是我开始了这场莫名其妙的旅程。",[11,181,182],{},"不知道终结，时而犹豫，甚至时而忘记自己的目的。",[11,184,185],{},"我必须自己站起来才行，否则一切的意义都不会存在。",{"title":77,"searchDepth":79,"depth":80,"links":187},[],"2012-08-13",{"layout":88,"status":89,"published":90,"author":190,"author_login":92,"author_email":93,"author_url":94,"wordpress_id":191,"wordpress_url":192,"date_gmt":193,"excerpt":194},{"display_name":92,"login":92,"email":93,"url":94},501,"\u002F\u002F?p=501","2012-08-12 20:11:40 +0000",{"type":8,"value":195},[196],[11,197,161],{},"\u002F2012-08-13-切断",{"title":156,"description":161},"_legacy\u002F2012\u002F2012-08-13-%e5%88%87%e6%96%ad",[],"4oR8CIIatlcipArQrlvRoeHXc5-ltREkeLeM-Dq8Bqw",{"id":204,"title":205,"body":206,"date":246,"description":210,"extension":86,"meta":247,"navigation":90,"path":256,"seo":257,"stem":258,"tags":259,"__hash__":260},"blogs\u002F_legacy\u002F2012\u002F2012-08-05-%e4%b8%83%e6%9c%88%e6%b5%81%e7%81%ab%ef%bc%8c%e5%85%ab%e6%9c%88%e6%9c%aa%e5%a4%ae.md","七月流火，八月未央",{"type":8,"value":207,"toc":244},[208,211,214,217,220,223,226,229,232,235,238,241],[11,209,210],{},"不觉间2012的七月已经过去了，说到七月，最先想到的便是七月流火了。",[11,212,213],{},"然而这个词和我所经过的这个七月一样，似乎毫无意义。",[11,215,216],{},"究竟经过了多少次季节变换呢？总是感叹世间的变换，然而无论是清晨的鸟鸣，还是午后暮蝉的鸣泣，总是会让我去想象这个世界其实并没有改变。即便知道那不过是自己无聊的幻想，闭上眼睛还是期望再次睁开时看到的是熟悉的光景。",[11,218,219],{},"如今的一切都已经不同了，现在的我只是不停的沉浸在自己的软弱中而已。几度下定决心，却只不过是在寻找某种自我满足。我不停的消费着自己的激情，从未真正的去改变什么。",[11,221,222],{},"如果说我们所做的每一件事都是有意义的，那这种意义究竟是对于谁而言的呢？我想大概不是针对自己的吧，可是那又是对谁的意义呢？最后还是得抛给自己，我讨厌给自己的行为寻找意义，总有种矫情的感觉。",[11,224,225],{},"我想说什么呢？我想做什么呢？生活到最后总是会变成对着心中虚拟的观众表演的无聊的戏作，即便自己会意识到。可是这样最后只会让自己变成什么都不愿做而已，生命不过是一个没有观众的舞台，如果你不想展示给任何人看的话。",[11,227,228],{},"所以我才是一个5吧，生命的意义这个问题不过是我无聊的自导自演。沉浸在自恋之中的自我满足，然而我早已明白自己心中空无一物。一切都是没有意义的，我发起的不过是一场早就确定好结局的和自己的战斗而已，是这世上最最无聊的线圈游戏。",[11,230,231],{},"我喜欢哲学，却总是不爱与人讨论哲学。因为每个人总是有意无意的用言语为自己披上华丽的外衣，而我并不具有看穿心灵的力量。到最后就只会流于形式，这也正是常年与世界分离的我不具备足够的社交能力的结果吧。",[11,233,234],{},"虚无主义可以吞噬心中的一切，恰是世间最最实用的实用主义。将一切都排除在外，我们可以在最短的时间里成为自己世界的神，虽然这个世界是如此的狭小，但是只要不在意这点的话……",[11,236,237],{},"总是在别无选择时犹豫不决，我只是这样的逃避着现实。",[11,239,240],{},"我不知道自己在做什么了，全都不明白了呢。",[11,242,243],{},"九月还会来临吗？明明曾经想好至少等到预言中的世界末日的……",{"title":77,"searchDepth":79,"depth":80,"links":245},[],"2012-08-05",{"layout":88,"status":89,"published":90,"author":248,"author_login":92,"author_email":93,"author_url":94,"wordpress_id":249,"wordpress_url":250,"date_gmt":251,"excerpt":252},{"display_name":92,"login":92,"email":93,"url":94},498,"\u002F\u002F?p=498","2012-08-05 11:11:19 +0000",{"type":8,"value":253},[254],[11,255,210],{},"\u002F2012-08-05-august",{"title":205,"description":210},"_legacy\u002F2012\u002F2012-08-05-%e4%b8%83%e6%9c%88%e6%b5%81%e7%81%ab%ef%bc%8c%e5%85%ab%e6%9c%88%e6%9c%aa%e5%a4%ae",[],"UgqITd9BnjLx2NVufDaHSvOKpk0wpZAnBa5n6jIlDmQ",{"id":262,"title":263,"body":264,"date":415,"description":268,"extension":86,"meta":416,"navigation":90,"path":425,"seo":426,"stem":427,"tags":428,"__hash__":431},"blogs\u002F_legacy\u002F2012\u002F2012-07-27-%e9%80%9a%e8%bf%87%e4%bf%ae%e6%94%b9%e6%8f%92%e4%bb%b6%e8%a7%a3%e5%86%b3wpzonbuilder%e6%98%be%e7%a4%ba%e4%bb%b7%e6%a0%bctoo-low-to-display%e9%97%ae%e9%a2%98.md","通过修改插件解决wpzonbuilder显示价格too low to display问题",{"type":8,"value":265,"toc":413},[266,269,272,275,278,281,284,396,399,406,409],[11,267,268],{},"今天用wpzonbuilder碰到个问题，本来是拉取过来的amazon价格数据，却不知道为什么显示着too low to display。",[11,270,271],{},"虽然是个细节上的问题，但是明明在网页说明上就给出了price range，list price超出了这个范围也没什么，但是关键的sale price却不显示这样就给人一种不靠谱的感觉。",[11,273,274],{},"于是试着google 了一下，发现这似乎是amazon的政策造成的。主要目的是为了保护amazon合作方的利益，防止打折的非常优惠的价格被到处扩散云云。也就是说没什么办法了，amazon的api给的就是too low to display。但是这样实在是太影响咱这个虽然很小但是也勉强算是个站的用户体验了吧！",[11,276,277],{},"于是翻起了wpzonbuilder的代码，打算对其进行改造，至少看着美观点。顺便把经验分享下，方便遇到同样问题的童鞋。",[11,279,280],{},"wpzonbuilder的显示需要修改的部分有两块，一个是在templates文件夹下面的对应的显示接口，我改的是inlinesingle.html这个，因为只用到了它；另一个是插件目录下的amzntemplates.php。",[11,282,283],{},"在amzntemplates.php里观察一下，在代码将价格和链接数据读取出来并输出之前对其进行检测并修改就行了。具体而言可以在代码的259行后插入如下代码：",[68,285,289],{"className":286,"code":287,"language":288,"meta":77,"style":77},"language-cpp shiki shiki-themes github-light-high-contrast github-dark monokai","if ($LowestNewPrice == \"Too low to display.\")\n{ \n$LowestNewPrice = \"\u003Ca style=\\\"color:red\\\" rel=\\\"nofollow\\\" target=\\\"_blank\\\" href=\\\"\".$DetailPageURL_LINK.\"\\\" class=\\\"amzn_multititle\\\">Too Low to Display Here! Click me and goto Amazon to see it.\u003C\u002Fa>\";\n }\n","cpp",[75,290,291,314,319,390],{"__ignoreMap":77},[292,293,296,300,304,307,311],"span",{"class":294,"line":295},"line",1,[292,297,299],{"class":298},"sLXdl","if",[292,301,303],{"class":302},"s0idv"," ($LowestNewPrice ",[292,305,306],{"class":298},"==",[292,308,310],{"class":309},"sZnmU"," \"Too low to display.\"",[292,312,313],{"class":302},")\n",[292,315,316],{"class":294,"line":79},[292,317,318],{"class":302},"{ \n",[292,320,321,324,327,330,334,337,339,342,344,347,349,352,354,357,359,362,364,367,370,372,374,377,379,382,384,387],{"class":294,"line":80},[292,322,323],{"class":302},"$LowestNewPrice ",[292,325,326],{"class":298},"=",[292,328,329],{"class":309}," \"\u003Ca style=",[292,331,333],{"class":332},"sAO_F","\\\"",[292,335,336],{"class":309},"color:red",[292,338,333],{"class":332},[292,340,341],{"class":309}," rel=",[292,343,333],{"class":332},[292,345,346],{"class":309},"nofollow",[292,348,333],{"class":332},[292,350,351],{"class":309}," target=",[292,353,333],{"class":332},[292,355,356],{"class":309},"_blank",[292,358,333],{"class":332},[292,360,361],{"class":309}," href=",[292,363,333],{"class":332},[292,365,366],{"class":309},"\"",[292,368,369],{"class":302},".$DetailPageURL_LINK.",[292,371,366],{"class":309},[292,373,333],{"class":332},[292,375,376],{"class":309}," class=",[292,378,333],{"class":332},[292,380,381],{"class":309},"amzn_multititle",[292,383,333],{"class":332},[292,385,386],{"class":309},">Too Low to Display Here! Click me and goto Amazon to see it.\u003C\u002Fa>\"",[292,388,389],{"class":302},";\n",[292,391,393],{"class":294,"line":392},4,[292,394,395],{"class":302}," }\n",[11,397,398],{},"这样一来就改成更加妥当的形式了，貌似wpzonbuilder是有官方支持文档，不过我是db用户所以就…。另外插件如果升级之后代码修改就会失效，虽然wp都这样姑且是需要提醒一下的。不过db用户不用担心这个问题呢。",[11,400,401],{},[402,403],"img",{"alt":404,"src":405},"result","\u002Fwp-content\u002Fuploads\u002F2012\u002F07\u002F00.jpg",[11,407,408],{},"上面的就是显示结果了，没学过网页设计，所以效果不是很好呢，不过自己满意就行了。",[410,411,412],"style",{},"html pre.shiki code .sLXdl, html code.shiki .sLXdl{--shiki-default:#A0111F;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .s0idv, html code.shiki .s0idv{--shiki-default:#0E1116;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sZnmU, html code.shiki .sZnmU{--shiki-default:#032563;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .sAO_F, html code.shiki .sAO_F{--shiki-default:#A0111F;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":77,"searchDepth":79,"depth":80,"links":414},[],"2012-07-27",{"layout":88,"status":89,"published":90,"author":417,"author_login":92,"author_email":93,"author_url":94,"wordpress_id":418,"wordpress_url":419,"date_gmt":420,"excerpt":421},{"display_name":92,"login":92,"email":93,"url":94},489,"\u002F\u002F?p=489","2012-07-27 13:49:31 +0000",{"type":8,"value":422},[423],[11,424,268],{},"\u002F2012-07-27-通过修改插件解决wpzonbuilder显示价格too-low-to-display问题",{"title":263,"description":268},"_legacy\u002F2012\u002F2012-07-27-%e9%80%9a%e8%bf%87%e4%bf%ae%e6%94%b9%e6%8f%92%e4%bb%b6%e8%a7%a3%e5%86%b3wpzonbuilder%e6%98%be%e7%a4%ba%e4%bb%b7%e6%a0%bctoo-low-to-display%e9%97%ae%e9%a2%98",[429,430],"wpzonbuilder","自寻烦恼","gQLAcqslXrPMFwfVyRuvR6r5o34tOewsTA-FkpvIju8",222,1788763182571]