最终编辑:好吧,这完全是黑客,但此刻我就像“meh”一样有效。我所做的就是解决这个问题,将android:lines="10"
添加到TextView中,它显示了2.2和ICS / JB中的所有内容。完全破解,因为它根本不是抽象的,而是任何东西:P ...感谢所有帮助过的人!
我在使用Gingerbread(API 10)的自定义对话框中显示文本时遇到问题。显示的唯一文本是第一行shown here。在Froyo,ICS和JB中,它显示with every line of text shown。我相信这是一个XML的东西,但我不确定。我哪里错了?
编辑:我尝试了什么:
- 将RelativeLayout改为LinearLayout
- 在ScrollView中添加
- 将我的字符串放在一行
- 使用requestLayout()和forceLayout()
- 在单独的类中输入对话框函数
- 取出按钮中的边距
-using \ n而不是HTML
-AlertDialog
我的TextView上的-inputType和singleLine XML属性
- 我想还有一两件我忘了......
这是XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/dia_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="17dp"
android:padding="5dp"/>
<View
android:id="@+id/bar"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#CCCCD0"
android:layout_below="@+id/dia_text"/>
<Button
android:id="@+id/dialogbuttongotit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/dialog_confirm"
android:textSize="20dp"
android:layout_marginTop="0dp"
android:layout_marginRight="0dp"
android:layout_below="@+id/bar"/>
</RelativeLayout>
以下是代码:
final Context context = this;
public void addListenerOnRectHelpButton() {
img = (ImageButton) findViewById(R.id.rect_img);
img.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//create a new dialog
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.custom_dialogs);
dialog.setTitle("Rectangular Area");
// set the custom dialog text
TextView text = (TextView) dialog.findViewById(R.id.dia_text);
String dialog_rect_txt = "<u>Area of a Rectangular Channel</u><br />" +
"Height x Width (H x W)<br />--Example:<br />" +
"Height: 3ft, Width 5ft<br />" +
"H x W = 3ft x 5ft = 15ft<sup>2</sup><br />";
text.setText(Html.fromHtml(dialog_rect_txt));
Button dialogButton = (Button) dialog.findViewById(R.id.dialogbuttongotit);
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
});
}
答案 0 :(得分:0)
你试过在TextView上调用requestLayout()吗?
...
text.setText(Html.fromHtml(dialog_rect_txt));
text.requestLayout();
...
答案 1 :(得分:0)
为什么不使用AlertDialog而不是自己构建?
Dialog dlg = new AlertDialog.Builder(this).setTitle(
"Rectangular Area").setMessage(dialogRectText).setPositiveButton(
"Got It", clickListener).create();
dlg.show();