0

晚上好,

我有一个简单的问题,但对于我的生活,我无法弄清楚。

我有一个指向我想放入我的应用程序的网页的链接。我想用 XML 来做这件事,以便让事情对我来说更容易一些,因为这将是一个非常大的应用程序。我希望喜欢是自定义文本,单击该文本会打开网络浏览器。我想就像你可以使用 HTML 一样。现在我有

android:text="http://bhflc.org/"
android:autoLink="web"

我知道文本部分是我需要自定义文本的地方,但我应该把网址放在哪里?

先感谢您。

4

2 回答 2

0

您可以在 XML 上创建 TextView 并将其设置为可点击:

<TextView
     android:id="@+id/textViewID"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="Link"
     android:clickable="true" />

在您的班级中,您可以输入以下内容:

TextView LinkButton = (TextView) findViewById(R.id.TextViewID);
LinkButton.setOnClickListener(new View.OnClickListener() {          
        public void onClick(View v) {
            // TODO Auto-generated method stub
                            Uri uri = Uri.parse("http://www.link.com");
                            Intent openBrowser = new Intent(Intent.ACTION_VIEW, uri);
                            startActivity(openBrowser);
        }
    });

反正我不知道只通过 XML 来做。

于 2012-08-15T05:04:28.603 回答
0

主意:

您需要一个自定义 Web 视图类。在此 Web 视图中,您可以获取从 xml 文件中设置的属性值。

代码:

你的 webview 类

    YourWebView extends WebView{
    public YourWebView (Context context, AttributeSet attrs) {
       //get attribute values which you set from xml file.
       TypedArray a=mContext.obtainStyledAttributes(attrSet, R.styleable.YourView);
       final String url=a.getString( R.styleable.YourView_web_url);
       yourWebView.mWebView.loadUrl(url);

}

你的 XML:

<?xml version="1.0" encoding="utf-8"?>
<yourpackagenamspace.yourView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    app:web_url="http://bhflc.org/" 
     />

您必须使用 values/attrs.xml 文件声明您的属性

<declare-styleable name="YourView">

        <attr name="web_url" format="string" />

    </declare-styleable>
于 2012-08-15T04:41:46.953 回答