Developer от Бога

DV

четверг, 6 июля 2017 г.

Android. Button

Обработка нажатия кнопки может производится несколькими путями: Указанием функции обработчика непосредственно в файле XML при создании кнопки (на подобии JavaScript и HTML) или в Java через анонимный класс, навешивая на кнопку слушателя с функцией обработчика. В данном примере по нажатию кнопки появляется всплывающее окно. Для его корректной работы, в папке values и документе содержащем текстовые строки string.xml добавлен текст сообщения для всплывающего окна:


<string name="push_button">BUTTON!</string>  


Файл MainActivity будет выглядеть следующим образом: Функция onCreate() запускает "стартовую страницу" XML указанную в setContentView(R.layout.activity_main); R - класс, содержащий в себе все участвующие в приложении элементы, начиная от списка самих XML документов до кнопок и изображений. Если нужно найти какой нибудь элемент - стоит обращаться к классу R, его изменять нельзя. Далее создан объект Java, который является своего рода указателем на нужную кнопку. Нужная кнопка находится по id который указан в ней, через функцию findViewById (R.id.button). Так как данная функция возвращает значение View (кнопки, текстовые поля и т.д имеют тип View), его стоит преобразовать к конкретно нужному типу (Button). Функцией button.setOnClickListener() назначается слушатель и функция обработчик onClick(View v); В функции обработчике записан код для всплывающего сообщения.


  1. import android.support.v7.app.AppCompatActivity;
  2. import android.os.Bundle;
  3. import android.view.View;
  4. import android.widget.Button;
  5. import android.widget.Toast;
  6. public class MainActivity extends AppCompatActivity {
  7. private Button button;
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.activity_main);
  12. button = (Button)findViewById(R.id.button);
  13. button.setOnClickListener(new View.OnClickListener() {
  14. @Override
  15. public void onClick(View v) {
  16. Toast.makeText(MainActivity.this,
  17. R.string.push_button,
  18. Toast.LENGTH_SHORT).show();}
  19. });
  20. }
  21. } }


Файл ctivity_main.xml будет выглядеть следующим образом: 


  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent"
  6. android:paddingBottom="@dimen/activity_vertical_margin"
  7. android:paddingLeft="@dimen/activity_horizontal_margin"
  8. android:paddingRight="@dimen/activity_horizontal_margin"
  9. android:paddingTop="@dimen/activity_vertical_margin"
  10. tools:context="com.ivarious.myapplication.MainActivity">
  11. <Button
  12. android:layout_width="wrap_content"
  13. android:layout_height="wrap_content"
  14. android:text="OK!"
  15. android:id="@+id/button"
  16. android:layout_centerVertical="true" />
  17. </RelativeLayout> yout_centerVertical="true" />

Комментариев нет:

Отправить комментарий