Цель работы: Изучить
Програмнное создание активности
Download 0.76 Mb.
|
Лабораторная работа1-6
Програмнное создание активностиВ основном мы пользуемся XML-разметкой для формирования внешнего вида активности. Это рекомендованный способ и в 99% вы будете использовать именно его. Но в некоторых случаях возможно вам понадобится создать активность программно. Сложного там ничего нет, для общего развития пригодится. Практическая часть лаборатории Если в стандартном случае мы подключаем XML-файл в методе setContentView(R.layout.activity_main), то при программном создании данный метод нам не понадобится. Удаляем его и пишем код: package ru.alexanderklimov.test; import android.app.Activity;
public class TestActivity extends Activity { /** Called when the activity is first created. */
// setContentView(R.layout.activity_test); LinearLayout layout = new LinearLayout(TestActivity.this); layout.setId(R.id.layout_id); LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); layout.setLayoutParams(layoutParams); layout.setOrientation(LinearLayout.VERTICAL); ImageView imageView = new ImageView(TestActivity.this); imageView.setId(R.id.image_id); imageView.setImageResource(R.drawable.ic_launcher); LayoutParams imageViewLayoutParams = new LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); imageView.setLayoutParams(imageViewLayoutParams); layout.addView(imageView); setContentView(layout); layout.setOnClickListener(onViewClickListener); imageView.setOnClickListener(onViewClickListener); } OnClickListener onViewClickListener = new OnClickListener() { @Override public void onClick(View v) { int myId = v.getId(); Toast.makeText(TestActivity.this, "ID: " + String.valueOf(myId) + " clicked", Toast.LENGTH_LONG).show(); } }; } Принцип формирования следующий - создаем объект LinearLayout (или другой контейнер) и настраиваем необходимые свойства. Далее создаём необходимые дочерние элементы и также настраиваем их свойства. Не забываем подключить дочерний элемент к родительскому через метод addView(). Download 0.76 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling