0

私のプロジェクトでは、アプリケーションで使用するライブラリのオープン ソース ライセンスを表示するダイアログを含めたいと考えています。特に、私はそれらがこのように見えることを望んでいます:

ここに画像の説明を入力

それがGithubでの外観です。Android用のGoogleプラスには、OSLicenceの類似フォーマットが含まれていることにも気付きましたが、試しても同じように見せることはできません.

したがって、Google Plus と Github の実装に基づいて、以下を取得できます。

  • コンテンツを表示するには WebView が必要です。
  • Github はpreおよびcodehtml タグを使用してコンテンツをラップします。

この仕事にPrettyifyを使用できることをどこかで読んでいました。まあ、試してみましたが、特定のテーマを選択する必要があるのか​​ 、パラメータで特定の言語を選択する必要があるのか​​ わかりません。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="prettify.js"></script>
<title>Open Source Licences</title>
</head>

次に、本体の場合:

<body onload="prettyPrint()">
<pre class="prettyprint">
/*Copyright 2012 Jeremy Feinstein
*
*Licensed under the Apache License, Version 2.0 (the "License");
*you may not use this file except in compliance with the License.
*You may obtain a copy of the License at
*
*http://www.apache.org/licenses/LICENSE-2.0
*
*Unless required by applicable law or agreed to in writing, software
*distributed under the License is distributed on an "AS IS" BASIS,
*WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*See the License for the specific language governing permissions and
*limitations under the License.
*/
</pre>

しかし、私の最終結果はそれほど素晴らしいものではありません。私はライセンスにコメントを付けないようにしましたが、prettify がライセンス内のすべてのキーワードを強調していたため、結果はさらに悪いものでした。

何か案は?思ったより簡単なのかもしれませんが、よくわかりません。

4

1 に答える 1

1

gitgub でページのソースを調べると、ソース コードの prettyprinter にモノスペース テキストの塊だけを強制的にレンダリングさせようとすることで、事態が非常に複雑になっていると思います。

pre {
    background-color: #F8F8F8;
    border: 1px solid #DDDDDD;
    border-radius: 3px 3px 3px 3px;
    font-size: 13px;
    line-height: 19px;
    overflow: auto;
    padding: 6px 10px;
    font-family: Consolas,"Liberation Mono",Courier,monospace;
}

すべてのコンポーネントを表示するFiddleを作成しました。

この種の調査には、Firefox 用の Firebug プラグインが絶対に必要です。これを使用すると、ページ上のすべての要素を取得し、外観を変更するさまざまな CSS ルールを確認し、ルールをいじって効果を確認できます。もっと。Web 開発に少しだけ興味がある場合でも、Firebug を持っていて、その使い方を知っている必要があります。

于 2013-05-09T00:31:32.087 に答える