使用 WebView 而不是 Textview 是一种好习惯吗?
Is that a good practice to use WebView instead of Textview?
我正在开发一个 android 应用程序,所有内容都需要在本地访问,即应用程序不需要互联网连接。应用程序只有静态内容。我已经开发了可以访问我本地存储在资产文件夹中的 html 页面的应用程序。我只想知道使用 webview
进行文本格式化是一种很好的(一般)做法,还是有任何其他方法可以在 android 中格式化文本?据我所知,文本格式化在 android 中是一项有些乏味的任务。还有一件事应用程序将仅使用马拉地语。所以请告诉我任何其他格式 textview
看起来不错的方法。
以下是 webview
的代码
public class AndroidHTMLActivity extends Activity {
WebView myBrowser;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myBrowser = (WebView)findViewById(R.id.mybrowser);
myBrowser.loadUrl("file:///android_asset/mypage.html");
}
}
Xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<WebView
android:id="@+id/mybrowser"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
WebView 在内部为显示 Html 数据提供了不同的功能。您也可以在 WebView 中使用 JavaScript。
当您使用 Html.fromHtml() 时,TextView 仅支持几个 Html 标签。所以我觉得用WebView比较好
有关详细信息,请同时查看此 link
Which one is better between TextView or WebView?
简短的回答是:视情况而定:)
问自己以下问题:
- 您想应用哪种格式?
- 您的文字要更改吗?
- 您要为文本使用哪种来源?
现在解释:如果你想应用简单的格式(例如:粗体、斜体、一些颜色),TextView
是你的选择。它很简单并且可以完成工作。当您想进行更复杂的格式设置(如段落、缩进等)时,问题就来了。
您无法应对 TextView
的特定情况是您的文本将被更改。我的意思是:您有一个包含两段的简单文本。您可以毫不费力地用 TextViews
做到这一点 - 两个 TextView
具有适当的布局,对吧?好的,但是如果您的文本是从 Internet 或数据库或外部文件加载的,并且更新版本包含三个段落,会发生什么情况?现在你明白我的意思了 :) 在这种情况下最好使用 ```WebView`` 因为数据本身就包含格式。
WebView
是更好方法的另一种情况是当您想要显示一些由外部工具生成的富文本时。例如,如果你有一个 doc
文件,你想在你的应用程序中显示,你可以将它转换为 html
(有很多免费的在线工具可以做到这一点)然后你可以轻松地显示它使用 WebView
保持所有格式、颜色、段落、图像、表格等不变。
结论:对于简单的情况,TextView
是首选方法,因为它简单,但对于更复杂的情况,或者当您的数据要更改其格式时,我推荐 WebView
希望这对您有所帮助:)
TextView 不支持缩进和对齐,因此如果您需要,则必须使用 WebView。如果您只需要一些简单的 html 格式化,那么 TextView 会更快。
我正在开发一个 android 应用程序,所有内容都需要在本地访问,即应用程序不需要互联网连接。应用程序只有静态内容。我已经开发了可以访问我本地存储在资产文件夹中的 html 页面的应用程序。我只想知道使用 webview
进行文本格式化是一种很好的(一般)做法,还是有任何其他方法可以在 android 中格式化文本?据我所知,文本格式化在 android 中是一项有些乏味的任务。还有一件事应用程序将仅使用马拉地语。所以请告诉我任何其他格式 textview
看起来不错的方法。
以下是 webview
public class AndroidHTMLActivity extends Activity {
WebView myBrowser;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myBrowser = (WebView)findViewById(R.id.mybrowser);
myBrowser.loadUrl("file:///android_asset/mypage.html");
}
}
Xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<WebView
android:id="@+id/mybrowser"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
WebView 在内部为显示 Html 数据提供了不同的功能。您也可以在 WebView 中使用 JavaScript。
当您使用 Html.fromHtml() 时,TextView 仅支持几个 Html 标签。所以我觉得用WebView比较好
有关详细信息,请同时查看此 link
Which one is better between TextView or WebView?
简短的回答是:视情况而定:)
问自己以下问题:
- 您想应用哪种格式?
- 您的文字要更改吗?
- 您要为文本使用哪种来源?
现在解释:如果你想应用简单的格式(例如:粗体、斜体、一些颜色),TextView
是你的选择。它很简单并且可以完成工作。当您想进行更复杂的格式设置(如段落、缩进等)时,问题就来了。
您无法应对 TextView
的特定情况是您的文本将被更改。我的意思是:您有一个包含两段的简单文本。您可以毫不费力地用 TextViews
做到这一点 - 两个 TextView
具有适当的布局,对吧?好的,但是如果您的文本是从 Internet 或数据库或外部文件加载的,并且更新版本包含三个段落,会发生什么情况?现在你明白我的意思了 :) 在这种情况下最好使用 ```WebView`` 因为数据本身就包含格式。
WebView
是更好方法的另一种情况是当您想要显示一些由外部工具生成的富文本时。例如,如果你有一个 doc
文件,你想在你的应用程序中显示,你可以将它转换为 html
(有很多免费的在线工具可以做到这一点)然后你可以轻松地显示它使用 WebView
保持所有格式、颜色、段落、图像、表格等不变。
结论:对于简单的情况,TextView
是首选方法,因为它简单,但对于更复杂的情况,或者当您的数据要更改其格式时,我推荐 WebView
希望这对您有所帮助:)
TextView 不支持缩进和对齐,因此如果您需要,则必须使用 WebView。如果您只需要一些简单的 html 格式化,那么 TextView 会更快。