В моей основной деятельности я создал FrameLayout
. Я добавил Button
и Background Image
это он.Как полностью удалить фон макета
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="56dp"
android:id="@+id/header_layout"
android:background="@drawable/top_header"
>
<Button
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginLeft="10dp"
android:id="@+id/btn_openDrawer"
android:background="@drawable/more"
android:layout_gravity="center|left"
/>
</FrameLayout>
В нескольких фрагментах я использую этот заголовок.
Но в одном из фрагментов мне нужна кнопка без фонового изображения.
Я пробовал почти все: от opacity
до alpha(0)
, но в каждом случае он не забирает место, занимаемое Frame Layout
. Он начинает отображать цвет white transparent
, когда я удаляю или уменьшаю прозрачность изображения.
Я хочу, чтобы это место занимало только эта кнопка . и поместите содержимое фрагментов над ним.
Прямо сейчас она занимает 56dp
высоту, которую я определил для Frame Layout
и начинает отображать содержимое Fragment Layout
после высоты заголовка, который 56dp
.
Если я меняю высоту Frame Layout
на 0dp
, он также перестает отображать кнопку.
Главная активность
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/home_layout"
>
<include layout="@layout/header_layout"/>
<include layout="@layout/content_home" />
</LinearLayout>
//NavigationView...
HomeActivity.Java
switch (item.getItemId()){
case R.id.nav_home:
fragmentTransaction= getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_container,new MainActivity());
fragmentTransaction.commit();
item.setChecked(true);
drawerLayout.closeDrawers();
break;
//This Code is displaying Header With Image
case R.id.nav_more:
fragmentTransaction= getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_container, new MoreActivity());
fragmentTransaction.commit();
item.setChecked(true);
drawerLayout.closeDrawers();
break;
}
Просьба направлять меня, я просто застрял в это в течение более чем 8 часов в настоящее время.
Thanks
Спасибо, Этот код добавляет белую рамку в месте изображения, и по-прежнему принимает '56dp' height и запускает другой макет после' 56dp' – Kirmani88