如何在Android中创建GUI而不是使用XML?

时间:2011-01-26 05:27:00

标签: java android xml user-interface

我不想一起管理XMLJava,我可以使用Java语言创建相同的GUI吗? 我怎么能这样做,你能告诉我简单Button的代码吗? 我会很感激你的答案。

5 个答案:

答案 0 :(得分:15)

是的,你可以。

public class MyActivity extends Activity {
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);

         final Button button = new Button(this);
         button.setText("Press me!");
         setContentView(button);

         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 // Perform action on click
             }
         });
     }
 }

答案 1 :(得分:8)

  

我可以使用Java语言创建相同的GUI吗?

是的,您可以在Java代码中创建GUI,也可以通过 @dtmilano 来解答,但一般来说,这对Android应用程序来说不是一个好习惯。在小型应用程序的情况下很容易,但如果您要为最终用户开发应用程序,则必须使用XML文件创建GUI。当您想要开发针对具有不同显示尺寸和不同语言的多个设备的应用程序时,它也很有用。

最佳做法是尽量避免使用Java创建GUI,而是尽可能多地使用XML

答案 2 :(得分:2)

我觉得这篇文章很有用也许对你也有好处 Creating an Android User Inteface in java Code

首先,您需要为此布局创建一个对象

RelativeLayout myLayout = new RelativeLayout(this);

然后像这样创建你的示例按钮

Button myButton = new Button(this);

然后需要将Button视图作为子项添加到RelativeLayout视图,而该视图又通过调用活动实例的setContentView()方法显示

myLayout.addView(myButton);
setContentView(myLayout);

启动后,可见结果将是一个按钮,其中不包含出现在RelativeLayout视图左上角的文字。

答案 3 :(得分:1)

绝对可以使用java设计Android UI。 这是创建Button的一个小例子。

请按照以下步骤操作

  1. 导入布局包(这里我导入android.widget.RelativeLayout)
  2. 导入按钮包
  3. 创建布局对象
  4. 创建按钮对象
  5. 添加按钮到布局
  6. 设置内容视图
  7. 这是代码

    package com.example.vmbck.app3;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.RelativeLayout;
    import android.widget.Button;
    
    
    public class MainActivity extends AppCompatActivity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //create layout
        RelativeLayout myLayout = new RelativeLayout(this);
        //set background color of the layout to Green
        myLayout.setBackgroundColor(Color.GREEN);
    
        //create button
        Button myButton = new Button(this);
        //set button's background color to red
        myButton.setBackgroundColor(Color.RED);
        //set button's text to Click Me
        myButton.setText("Click Me");
    
        //add button to layout
        myLayout.addView(myButton);
        //View the content
        setContentView(myLayout);
        }
    
    }
    

答案 4 :(得分:-1)

如果您正在使用Eclipse,则可以从项目中转到文件夹res / layout,您将在其中找到文件main.xml 右键单击此文件,然后选择使用/ Android布局编辑器打开 在那里,您将看到一个图形工具,它将生成所有需要包含在main.xml文件中的文件