Я использую AA и хотел бы указать два разных файла макета xml для портретной и альбомной ориентации.Андронаты Android: разные макеты для портрета и пейзажа
В моем классе java, отмеченном как EActivity, предоставляется метод, аннотированный с помощью @Click, для ответа на событие click.
Все работает нормально в портретном режиме. Но когда телефон повернут, изменения макета и кнопки больше не отвечают.
Я предполагаю, что макет, предоставленный после аннотации @EActivity, представляет собой макет портрета.
Как я могу предоставить как портретные, так и ландшафтные макеты?
Заранее спасибо.
Update Я слушаю "ориентации изменения с использованием двух различных файлов макета один, для портрета, который называется макет/contact.xml, а другой, для пейзажа, который называется раскладка-земля/contact.xml. Android делает все остальное и использует правильный макет в соответствии с ориентацией телефона.
Чтобы зарегистрировать прослушиватель событий щелчка, я использую Android Аннотации:
contact.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:background="#000000"
android:layout_height="match_parent">
<include
layout="@layout/header_layout" />
<!-- Some elements -->
</LinearLayout>
header_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:background="#000000"
android:layout_height="60dp">
<ImageButton
android:id="@+id/menuHome"
android:layout_width="25dp"
android:src="@drawable/menu"
android:paddingTop="22dp"
android:paddingBottom="22dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_gravity="center"
android:background="#00000000"
android:scaleType="fitCenter"
android:layout_height="match_parent" />
<!-- Other buttons -->
</LinearLayout>
Contact.java
@EActivity(R.layout.activity_contact)
public class ContactActivity extends TopLevelActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public String getPageTitle() {
return "Nous contacter";
}
}
** TopLevelActivity.java **
@EActivity
public abstract class TopLevelActivity extends Activity implements ITopLevelActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Click
public void menuHome() {
startActivity(new Intent(this, HomeActivity_.class));
}
}
Как вы слушаете изменения ориентации и когда вы регистрируете представления для прослушивания кликов? Добавьте этот код, чтобы мы могли лучше помочь. – JoxTraex