Как создать графический интерфейс в Android вместо использования XML? - PullRequest
3 голосов
/ 26 января 2011

Мне не нравится управлять XML и Java вместе, могу ли я создать один и тот же графический интерфейс с использованием языка Java? Как я могу это сделать, можете ли вы сказать мне код для простого Button? Буду признателен за правильный ответ.

Ответы [ 5 ]

15 голосов
/ 26 января 2011

Да, вы можете.

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
             }
         });
     }
 }
8 голосов
/ 26 января 2011

Могу ли я создать такой же графический интерфейс на языке Java?

Да, вы можете создать графический интерфейс в Java коде, также как ответили @ dtmilano , но в целом это не очень хорошая практика для Android приложений. Это легко в случае небольшого приложения, но если вы собираетесь разрабатывать приложение для конечного пользователя, вам нужно создать графический интерфейс с использованием файлов XML. Это также полезно, когда вы хотите разработать приложение для нескольких устройств с разными размерами дисплея и разными языками.

Лучше всего избегать создания графического интерфейса с использованием Java и вместо этого использовать XML, насколько это возможно.

2 голосов
/ 30 ноября 2017

Мне показалась эта статья полезной, может быть, это тоже хорошо для вас Создание пользовательского интерфейса Android в java-коде

сначала вам нужно создать объект для вашего макета, подобный этому

RelativeLayout myLayout = new RelativeLayout(this);

, затем создайте, например, кнопку, например, такую:

Button myButton = new Button(this);

, затем необходимо добавить представление Button в качестве дочернего к представлению RelativeLayout, которое, в свою очередь, отображается через вызов setContentView.() метод экземпляра действия

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

После запуска видимым результатом будет кнопка, не содержащая текста, отображаемого в верхнем левом углу представления RelativeLayout.

1 голос
/ 07 марта 2018

Определенно, вы можете создать свой Android-интерфейс с использованием Java. Вот небольшой пример для создания кнопки.

Выполните следующие действия

  1. импорт пакета макета (здесь я импортирую android.widget.RelativeLayout)
  2. Кнопка импорта пакета
  3. Создание объекта макета
  4. Создать объект кнопки
  5. Добавить кнопку в макет
  6. Задать вид содержимого

Вот код

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);
    }

}
0 голосов
/ 16 января 2012

Если вы используете Eclipse, вы можете перейти к папке res / layout из вашего проекта, где вы найдете файл main.xml. Щелкните правой кнопкой мыши по этому файлу и выберите «Открыть с помощью / редактор макетов Android».сгенерировать все, что нужно для включения в файл main.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...