Sri*_*har 6 android textview android-widget android-layout
在我的申请中,我有一些条款和条件的文本.
注册即表示您同意遵守我们的使用条款,并且您已阅读我们的隐私政策.
这句话使用条款和隐私权政策应该是点击,并显示一个警告框.
首先,我尝试将句子分成四个TextView:
这很好用,具有以下布局XML:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/termsandcondtion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/terms_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/terms_1"
android:textColor="#000000"
android:textSize="12dp" />
<TextView
android:id="@+id/terms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:onClick="showTerms"
android:text="@string/terms_2"
android:textColor="#000000"
android:textSize="12dp" />
<TextView
android:id="@+id/terms_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/terms_3"
android:textColor="#000000"
android:textSize="12dp" />
<TextView
android:id="@+id/termsofuse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:onClick="showTermsofUse"
android:text="@string/terms_4"
android:textColor="#000000"
android:textSize="12dp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
显示弹出窗口的代码是:
WebView wv = new WebView(this);
wv.loadUrl(url);
wv.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
});
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Privacy Policy");
alert.setView(wv);
alert.setNegativeButton("Close", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
}
});
alert.show();
Run Code Online (Sandbox Code Playgroud)
问题是四个TextViews彼此没有正确对齐.这意味着我必须使用一个TextView并在TextView单击特定单词(使用条款,隐私政策)时显示弹出式对话框.
做这个的最好方式是什么?
gsb*_*gsb 10
我想你需要Spannable Strings.此外,这个问题会有所帮助.创建ClickableSpan将是您的问题的一个很好的选择.
SpannableString stringToSpan = new SpannableString("<your sentence>");
TextView textView = (TextView) findViewById(R.id.<yourTextView ID>);
textView.setText(stringToSpan);
textView.setMovementMethod(LinkMovementMethod.getInstance());
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View textView) {
//alert box code here
}
};
stringToSpan.setSpan(clickableSpan, <start position of span>,<end position>,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
Run Code Online (Sandbox Code Playgroud)