Мне нужна вкладка, как на картинке выше. Если я выберу адрес, она должна отобразить существующую вкладку адреса. Если я выберу новый адрес, она должна отобразить форму адреса. Но вкладки должны быть в определенной области деятельности. Возможно ли это в android?
3 ответа
Если вы хотите создать свой макет (Просмотр) в действии
1) Попробуйте использовать этот xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- ADD YOUR FIRST VIEW ie YOUR SELECT SERVICE DROP DOWN -->
<!-- ADD YOUR SECOND VIEW ie OF VISITING CHARGE 250 APPLICABLE -->
<!-- LAYOUT FOR YOUR TAB -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:orientation="horizontal" >
<Button
android:id="@+id/addressButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/addressActiveBtn"
android:text="address" />
<Button
android:id="@+id/newAddressButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/addressDeActiveBtn"
android:text="new address" />
</LinearLayout>
<!-- CREATE ADDRESS SCREEN LAYOUT AND INCLUDE HERE -->
<include
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/addressScreen"
android:visibility="visible" />
<!-- CREATE NEW ADDRESS SCREEN LAYOUT AND INCLUDE HERE -->
<include
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/newAddressScreen"
android:visibility="gone" />
</LinearLayout>
2) Вам необходимо обрабатывать представления макета (адрес и новый адрес) по коду.
ie you need to implement onClickListener on your tab buttons and handle
switching of layout views of Address and NewAddress
Как:
addressButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
addressLinearLayout.setVisibility(View.VISIBLE);
newAddressLinearLayout.setVisibility(View.GONE);
}
});
newAddressButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
addressLinearLayout.setVisibility(View.GONE);
newAddressLinearLayout.setVisibility(View.VISIBLE);
}
});
Надеюсь, это вам как-то поможет ....
Я думаю, что вкладки используют это так, что это не было бы хорошей реализацией в соответствии с руководящими принципами дизайна Android. Вместо этого вы можете использовать две кнопки, которые включают видимость фрагмента или представления. Для управления поведением видимости используйте класс ViewStub
. Вот пример, показывающий, как работает ViewStub
.
Я не думаю, что можно использовать такие вкладки навигации Android.
Однако я бы создал две кнопки и два фрагмента. При нажатии на первую кнопку будет показан фрагмент с адресом, а при нажатии на вторую кнопку отобразится форма.
Вам даже не нужно использовать фрагменты, вы можете просто скрыть текущий адрес или форму визуально с помощью visibility.GONE
, в зависимости от того, какая кнопка нажата, но я думаю, что использование фрагментов - лучшая практика.
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.