В этом уроке рассмотрены контейнеры ScrollView и LinearLayout и виджеты TextView, ImageView, Button, ImageButton и привязка обработчиков для выполнения каких-нибудь действий при клике на кнопки
Для правильной работы кода необходимо добавить изображение с названием img1.png в папку res/drawable
1. Создайте новый проект на основе шаблона Empty Activity.
2. В файле activity_main.xml напишите этот код:
<?xml version="1.0" encoding="utf-8"?>
<!-- ScrollView служит для показа содержимого, который не помещается на одном экране. Внутри ScrollView должен быть один вложенный контейнер или виджет. Ограничений для вложенных виджетов в контейнеры нет.-->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--LinearLayout с вертикальной ориентацией необходим для размещения виджетов по вертикали (сверху вниз)-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!--LinearLayout с горизонтальной ориентацией необходим для размещения виджетов по горизонтали (слева на право)-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 4" />
</LinearLayout>
<!-- Виджет Button добавляет кнопку в интерфейс на кнопке можно показывать текст и присвоить обработчик нажатия на кнопку для выполнения необходимых действий -->
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click me" />
<!-- ImageButton аналочен Button-у только вместо текста показывает изображение. Привязка обработчика при нажатии на кнопку указан через атрибут onClick и функция обработки нажатия на кнопку написана в классе MainActivity с названием Func1-->
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="Func1"
android:src="@mipmap/ic_launcher" />
<!-- Атрибут adjustViewBounds="true" необходимо указывать, когда пиксельный размер изображения может быть больше чем экран. Если не указывать, ширина подгоняется под ширину экрана а высоте указывается пропорциональное значение, но вокруг виджета могут появиться пустые пространства равные оригинальной высоте или ширине объекта. -->
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/img1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textSize="80sp" />
</LinearLayout>
</ScrollView>
3. Макет готов, теперь необходимо написать код класса Activity, для обработки нажатия на кнопки – экземпляры класса Button и ImageButton.
public class ActivityMain extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Получаем ссылку на кнопку - экземпляр класса Button
Button btn = findViewById(R.id.button);
// Указание обработчика нажатия на кнопку.
btn.setOnClickListener(new View.OnClickListener() {
// Код выполняемый при нажатии на кнопку
@Override
public void onClick(View v) {
// Toast показывает всплывающие сообщения, которые через короткий промежуток времени исчезают автоматически
Toast.makeText(ActivityMain.this, "Hello from toast", Toast.LENGTH_LONG).show();
}
});
}
// Функция с кодом для обработки клика на кнопку ImageButton, название этой функции указана в файле макета в качестве значения атрибута onClick
public void Func1(View v) {
Toast.makeText(this, "Hello from second toast", Toast.LENGTH_SHORT).show();
}
}
Реклама