Я часами искал ответ на этот, казалось бы, простой вопрос.
В принципе, как вы делаете определенный рисунок в списке слоев кнопкой изображения?
Eclipse не помечает этот код какими-либо ошибками, пока он запускается, я получаю принудительное закрытие. Что мне не хватает?
Также -
Использую ли я findViewById
для ссылки на ресурсы, даже если они находятся в списке слоев?
Принадлежит ли android:id
в XML-файле тегу item
или bitmap
?
РЕДАКТИРОВАТЬ: Этот код я просто быстро собрал, чтобы продемонстрировать мою проблему. Я пытаюсь сделать активным кнопку только что последний нарисованный слой. Например, для пользовательского интерфейса я кладу кучу или графику друг на друга, последние два слоя будут кнопками, которые я хочу сделать активными. Это возможно? Или, может быть, есть лучший способ сделать то, что я пытаюсь сделать?
Спасибо.
layers.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/android_red"
android:gravity="center" />
</item>
<item android:top="10dp" android:left="10dp">
<bitmap android:src="@drawable/android_green"
android:gravity="center" />
</item>
<item android:id="@+id/blue_button"
android:top="20dp" android:left="20dp">
<bitmap android:src="@drawable/android_blue"
android:gravity="center" />
</item>
</layer-list>
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:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/layers" />
</LinearLayout>
Активность:
public class LayoutTestActivity extends Activity implements OnClickListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FILL_PARENT,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
ImageButton imgStartButton = (ImageButton) findViewById(R.id.blue_button);
imgStartButton.setOnClickListener(this);
}
public void onClick(View v) {
}
}