2012/2013 учебный год
Упражнение 3
Скопируйте 10 изображений в папку /data виртуального Android-устройства, см. Краткую теорию. В приложении должны быть виджет ImageView, поле ввод EditText и кнопка. В поле ввода записывают название файла, изображение из которого нужно вывести в ImageView. Изображение выводится при нажатии на кнопку Открыть.
Внимание! Откройте файл
gen/org/ggpi/AnimClick03/R.java
и проверяйте после выполнения каждого из ниже приведённых соответствующих примеров, что в нём зарегистрированы объекты
linearLayout image1 btnLoadImg editMessage
Пример 3.1. Файл res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:id="@+id/image1" android:src="@drawable/sky" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> <EditText android:id="@+id/editMessage" android:layout_width="96dp" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:inputType="textAutoCorrect|textCapWords|textUri" /> <Button android:id="@+id/btnOpen" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Открыть" > </Button> </LinearLayout>
Пример 3.2. Файл MainActivity.java
package org.ggpi.AnimClick03; import android.os.Bundle; import android.app.Activity; import android.graphics.drawable.Drawable; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.view.animation.Animation; import android.view.animation.AnimationUtils; public class MainActivity extends Activity implements OnClickListener { EditText editMessage; ImageView image1; Button btnOpen; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // найдем View-элементы editMessage = (EditText) findViewById(R.id.editMessage); btnOpen = (Button) findViewById(R.id.btnOpen); image1 = (ImageView) findViewById(R.id.image1); // присвоим обработчик кнопкам btnOpen.setOnClickListener(this); } @Override public void onClick(View v) { // по id определяем кнопку, вызвавшую этот обработчик switch (v.getId()) { case R.id.btnOpen: // кнопка Открыть String myPath = editMessage.getText().toString(); if (myPath=="") myPath="chess"; image1.setImageDrawable(Drawable.createFromPath("/data/"+myPath+".jpg") ); break; } } }