Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中设置警报对话框的高度和宽度?_Android_Fullscreen_Android Alertdialog_Horizontal Scrolling - Fatal编程技术网

如何在Android中设置警报对话框的高度和宽度?

如何在Android中设置警报对话框的高度和宽度?,android,fullscreen,android-alertdialog,horizontal-scrolling,Android,Fullscreen,Android Alertdialog,Horizontal Scrolling,这是我的密码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); context = this; AlertDialog alertChoice = new AlertDialog.Builder(context).create(); alertChoice.setTitle("Title"); ale

这是我的密码:

@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    context = this;    

    AlertDialog alertChoice = new AlertDialog.Builder(context).create();
    alertChoice.setTitle("Title");
    alertChoice.setView(ViewDialogScreen("Test"));    
    alertChoice.show();    
  }
  private View ViewDialogScreen(String strText) {
    LinearLayout llay = new LinearLayout(context);
    llay.setLayoutParams(new LayoutParams(320, 400));
    TextView tv = new TextView(context);
    tv.setText(strText);
    llay.addView(tv);
    return llay;
  }

我得到了如上所示的输出

  • 我需要全屏显示
    警报对话框
    ,屏幕大小的95%
  • 我需要在
    对话框中处理更多字段
  • 如何在
    警报对话框
    中启用
    水平滚动视图

  • 我不确定这一点,但您可以为对话框设置自己的布局。请参考我的答案,我不确定这一点,但您可以为对话框设置自己的布局。参考我的答案

    如果你想自定义一个
    警报对话框
    你需要创建一个。

    如果你想自定义一个
    警报对话框
    你需要创建一个。

    要获得滚动行为,在布局中添加一个周围的
    滚动视图
    ,这将使你的
    查看对话框屏幕
    方法:

    private View ViewDialogScreen(String strText) {
        ScrollView scroll = new ScrollView(context);
        scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        LinearLayout llay = new LinearLayout(context);
        llay.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        TextView tv = new TextView(context);
        tv.setText(strText);
        scroll.addView(llay);
        llay.addView(tv);
        return scroll;
    }
    

    现在尝试添加更多字段,它应该滚动。

    要获得滚动行为,请在布局中添加一个周围的
    ScrollView
    ,这将使您的
    ViewDialogScreen
    方法:

    private View ViewDialogScreen(String strText) {
        ScrollView scroll = new ScrollView(context);
        scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        LinearLayout llay = new LinearLayout(context);
        llay.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        TextView tv = new TextView(context);
        tv.setText(strText);
        scroll.addView(llay);
        llay.addView(tv);
        return scroll;
    }
    

    现在尝试添加更多字段,它应该会滚动。

    在我上面的代码中,我可以设置自己的布局,但警报的大小非常小。我需要显示,在全屏/指定的布局大小中,您可以用xml指定大小。是吗?对于屏幕设计,我只使用Java。但这里我还指定了LinearLayout的大小…在我上面的代码中,我可以设置自己的布局,但警报的大小非常小。我需要显示,在全屏/指定的布局大小中,您可以用xml指定大小。是吗?对于屏幕设计,我只使用Java。但在这里,我还指定了LinearLayout的大小…我已经尝试过了。我只能以垂直方式滚动,但我需要以水平方式滚动。当我添加水平滚动时,它不起作用。然后在设置LayoutParams后,我只得到相同的屏幕大小。如果你想要水平滚动,将
    滚动视图
    替换为
    水平滚动视图
    ,当达到最大宽度时,它将自动添加水平滚动。但是,目前还没有允许您同时水平和垂直滚动的小部件(google it)。但是对话框将尽可能垂直延伸。谢谢。我得到了水平滚动。但我需要全屏显示警报。就我所尝试的而言,我没有找到其他解决方案,只是让它伸展自己。。。对不起,我在这一点上没有帮助。如果你真的需要全屏,也许可以尝试创建一个新的活动。感谢你的善意帮助Michael Rose。我已经尝试过了。我只能垂直滚动,但我需要水平滚动。当我添加水平滚动时,它不起作用。然后在设置LayoutParams后,我只得到了相同的屏幕大小。如果你要进行水平滚动,请将
    滚动视图
    替换为
    水平滚动视图
    ,并在达到最大宽度时自动添加水平滚动。但是,目前还没有允许您同时水平和垂直滚动的小部件(google it)。但是对话框将尽可能垂直延伸。谢谢。我得到了水平滚动。但我需要全屏显示警报。就我所尝试的而言,我没有找到其他解决方案,只是让它伸展自己。。。对不起,我在这一点上没有帮助。如果你真的需要全屏,也许可以尝试创建一个新的活动。谢谢你的帮助迈克尔·罗斯。