Android更改控件在屏幕上

时间:2012-10-11 13:10:00

标签: android user-interface interface

我开发了一个程序,但我需要根据用户输入更改界面。

现在,我已经使用+和 - 按钮制作了类似于数字选择器的东西,但问题是,有些用户需要输入小数。为此,我想用简单的文本框更改数字选择器

我希望程序能够在单击按钮的情况下在此处显示的2个屏幕之间来回切换,而无需使用不同的活动或xml文件。除了用户选择的数字之外的所有内容都是相同的。如果文本框下面的东西不会停留在同一个地方但跳起来,(因为文本字段填充较少)那没关系。

enter image description here

你会怎么建议这样做?

2 个答案:

答案 0 :(得分:1)

您必须充分利用视图的可见性。将数字选择器和EditText添加到同一布局中,并在按钮单击侦听器之间切换它们的可见性,例如,

    button.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            if(nNumberPicker.getVisibility()==View.VISIBLE)
            {
            nNumberPicker.setVisibility(View.GONE);
            editText.setVisibility(View.VISIBLE);   
            }
            else
             {
             nNumberPicker.setVisibility(View.VISIBLE);
            editText.setVisibility(View.GONE);
             }


        }
    });

同样根据您的需要更改可见性。

答案 1 :(得分:1)

这是一个例子


    Button plus1 = (Button)findViewById(R.id.plus1);
    plus1.setVisibility(View.INVISIBLE); //invisible, but still takes up layout space
    //or
    plus1.setVisibility(View.GONE); //invisible, and doesn't takes up layout space 
    //or
    plus1.setVisibility(View.VISIBLE); //visible