0

在我的项目中,我想包含一个对话框,显示我在应用程序中使用的库的开源许可证。特别是,我希望它们看起来很像这样:

在此处输入图像描述

这就是它在 Github 上的样子,我还注意到 Google plus for android 包含了他们的 OSLicences 的外观相似的格式,但尽管尝试过,但我真的无法让它看起来相同。

所以基于 Google Plus 和 Github 的实现,我可以得到以下信息:

  • 显示内容需要 WebView。
  • Github 使用precodehtml 标签来包装内容。

我曾在某处读过可以使用Prettyfy完成这项工作的内容。好吧,我试过了,但我不确定我是否应该在参数中选择特定主题或特定语言,因为我有:

<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 研究页面的源代码,您会发现它只是一些 css

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;
}

我给你做了一个显示所有组件的小提琴。

对于此类研究,Firefox的 Firebug 插件是绝对必须的,它允许您抓取页面上的每个元素,查看修改其外观的不同 css 规则,玩弄规则以查看效果,以及成千上万的事情更多。即使您只是对 Web 开发稍有兴趣,您也确实应该拥有 Firebug 并知道如何使用它。

于 2013-05-09T00:31:32.087 回答