我正在尝试弹出一个弹出文本框,在我的Android应用程序启动时会有一些免责声明和应用信息。有谁知道如何实现这个?它也可以从txt文件中读取吗?
由于
答案 0 :(得分:41)
如果您想要自动关闭的弹出窗口,您应该查找Toasts。但是如果你想要一个用户必须先关闭的对话框,然后才能继续,你应该找一个Dialog。
对于这两种方法,可以读取包含要显示的文本的文本文件。但您也可以对文本进行硬编码或使用R.String来设置文本。
答案 1 :(得分:39)
您可以使用Dialog轻松创建
使用上下文
创建一个Dialog实例Dialog dialog = new Dialog(contex);
您可以根据需要设计布局。
您可以将此布局添加到对话框中
dialog.setContentView(R.layout.popupview);//popup view is the layout you created
然后您可以使用findViewById
方法
TextView txt = (TextView)dialog.findViewById(R.id.textbox);
您可以在此处添加任何文字。文本可以存储在res \ values。
中的String.xml文件中txt.setText(getString(R.string.message));
然后最后显示弹出菜单
dialog.show();
更多信息 http://developer.android.com/guide/topics/ui/dialogs.html
http://developer.android.com/reference/android/app/Dialog.html
答案 2 :(得分:1)
假设您要设置一个弹出文本框,用于点击按钮,例如 bt ,其ID为按钮,然后代码使用 Toast 有点像这样:
Button bt;
bt = (Button) findViewById(R.id.button);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"The text you want to display",Toast.LENGTH_LONG)
}
答案 3 :(得分:0)
使用此方法,然后在您要使用的活动的onCreate方法中调用它
public void popupMessage(){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setMessage("No Internet Connection. Check Your Wifi Or enter code hereMobile Data.");
alertDialogBuilder.setIcon(R.drawable.ic_no_internet);
alertDialogBuilder.setTitle("Connection Failed");
alertDialogBuilder.setNegativeButton("ok", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Log.d("internet","Ok btn pressed");
finishAffinity();
System.exit(0);
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
答案 4 :(得分:0)
示例代码在kotlin中显示自定义对话框:
fun showDlgFurtherDetails(context: Context,title: String?, details: String?) {
val dialog = Dialog(context)
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
dialog.setCancelable(false)
dialog.setContentView(R.layout.dlg_further_details)
dialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
val lblService = dialog.findViewById(R.id.lblService) as TextView
val lblDetails = dialog.findViewById(R.id.lblDetails) as TextView
val imgCloseDlg = dialog.findViewById(R.id.imgCloseDlg) as ImageView
lblService.text = title
lblDetails.text = details
lblDetails.movementMethod = ScrollingMovementMethod()
lblDetails.isScrollbarFadingEnabled = false
imgCloseDlg.setOnClickListener {
dialog.dismiss()
}
dialog.show()
}