2013年5月25日土曜日

ソースコードを見やすく表示する SyntaxHighlighter を Blogger で使う

導入方法
Bloggerの テンプレート>HTMLの編集 で</body>の直前に下記のコードを貼り付けます。
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shAutoloader.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script>
<script type='text/javascript'>
function path()
{
  var args = arguments,
      result = [];
 
  for(var i = 0; i &lt; args.length; i++)
     result.push(args[i].replace('@','http://alexgorbatchev.com/pub/sh/current/scripts/'));
 
  return result
};
 
SyntaxHighlighter.autoloader.apply(null, path(
    'applescript            @shBrushAppleScript.js',
    'actionscript3 as3      @shBrushAS3.js',
    'bash shell             @shBrushBash.js',
    'coldfusion cf          @shBrushColdFusion.js',
    'cpp c                  @shBrushCpp.js',
    'c# c-sharp csharp      @shBrushCSharp.js',
    'css                    @shBrushCss.js',
    'delphi pascal          @shBrushDelphi.js',
    'diff patch pas         @shBrushDiff.js',
    'erl erlang             @shBrushErlang.js',
    'groovy                 @shBrushGroovy.js',
    'java                   @shBrushJava.js',
    'jfx javafx             @shBrushJavaFX.js',
    'js jscript javascript  @shBrushJScript.js',
    'perl pl                @shBrushPerl.js',
    'php                    @shBrushPhp.js',
    'text plain             @shBrushPlain.js',
    'py python              @shBrushPython.js',
    'powershell ps posh     @shBrushPowerShell.js',
    'ruby rails ror rb      @shBrushRuby.js',
    'sass scss              @shBrushSass.js',
    'scala                  @shBrushScala.js',
    'sql                    @shBrushSql.js',
    'vb vbnet               @shBrushVb.js',
    'xml xhtml xslt html    @shBrushXml.js'
));
SyntaxHighlighter.all()
</script>

使い方
ツールにソースコードを貼り付けて変換。<pre>タグの brush: html を対象の言語に変更します。

WEB表示用、HTMLエンコード置換変換
http://www.netyasun.com/syntaxhighlighter/source-escape.htm


あとは、投稿するときにHTMLとして貼り付けるだけです。
プレビューには適応されません。

2013年5月24日金曜日

SearchView を閉じるときにイベントを取得する

SearchView を閉じるときに何かしたい場合は、MenuItem に OnActionExpandListener を設定する。
menuItem.setOnActionExpandListener(new OnActionExpandListener() {
  public boolean onMenuItemActionExpand(MenuItem item) {
    // 開くときに呼ばれる
    return true;
  }
  public boolean onMenuItemActionCollapse(MenuItem item) {
    // 閉じるときに呼ばれる
    return true;
  }
});
ActionBar や SearchView にリスナー設定するわけじゃないのか

2013年5月20日月曜日

Android Studio が起動しない

Google I/O 2013で、Android の統合開発環境「Android Studio」というものが発表されたらしい。

話は変わって、最近 Eclipse のコンテンツ・アシストでエラーが出るようになった。対処法もわからない。じゃあ、いつ乗り換えるの?いm

そういうわけでインストールしてみた、動かない。

Android Studio を起動するには環境変数に「ANDROID_STUDIO_JDK」「JDK_HOME」「JAVA_HOME」のいずれかを設定する必要があります。この時、セミコロンなど余計なものをつけると JDK が見つかりませんと怒られてしまうようです。
先頭のドライブ名が小文字だったり末尾にバックスラッシュ(円マーク)をつけるのもダメらしい。

これって常識なの?