这是我的第一个问题,但我之前已经研究了很多。 所以我是Android开发的新手,我正在尝试基于新的ViewPager和TabLayouts设计自定义登录/签名活动。 问题是我正在尝试为我的两个标签AppBarLayout设置一个透明背景,但找不到适合我的任何东西。 我尝试了很多已发布的解决方案,似乎没有人适合我的情况。 最后一个是这里发布的:
How to set TabLayout background to transparent
但没有,我能得到的更好的是这样的: transparent background try
以下是获取此内容的布局代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="200dp"
android:id="@+id/imageView2"
android:layout_gravity="left|center_horizontal"
android:background="#f2a0ef"
android:contentDescription="@string/logDesc" />
<RelativeLayout
android:layout_width="340dp"
android:layout_height="match_parent"
android:layout_gravity="top|center_horizontal"
android:layout_marginTop="-102dp"
android:theme="@style/MyMaterialTheme"
android:layout_marginBottom="80dp"
android:transitionGroup="false">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="@android:color/transparent">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="@dimen/custom_tab_layout_height"
app:tabMode="fixed"
app:tabGravity="fill"
app:tabIndicatorColor="@color/colorPrimary"
app:tabIndicatorHeight="4dp"
android:background="@android:color/transparent"
/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false"
android:layout_below="@+id/appBarLayout"
android:background="#ffffff" />
</RelativeLayout>
</LinearLayout>
我认为不需要活动代码,如果是,请告诉我。 问题是我几乎得到它但当然不希望围绕标签的效果。 我真的坚持这个,不想在完成之前继续做事。 在此先感谢!!
答案 0 :(得分:0)
在AppBarLayout外使用TabLayout
-(x-s) = -x + s
答案 1 :(得分:0)
我太傻了,奇怪的行为来自appBarLAyout小部件的阴影,如果设置在任何东西之上,因为设置选项卡的透明度会使它掉落一个奇怪的阴影,所以2天尝试使用impossibe使其工作,唯一需要做的就是将小部件的高度设置为“0dp”。
这是最终的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="200dp"
android:id="@+id/imageView2"
android:layout_gravity="left|center_horizontal"
android:background="#f2a0ef"
android:contentDescription="@string/logDesc" />
<RelativeLayout
android:layout_width="340dp"
android:layout_height="match_parent"
android:layout_gravity="top|center_horizontal"
android:layout_marginTop="-102dp"
android:theme="@style/MyMaterialTheme"
android:layout_marginBottom="80dp"
android:transitionGroup="false">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="@android:color/transparent"
**app:elevation="0dp"**
>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="@dimen/custom_tab_layout_height"
app:tabMode="fixed"
app:tabGravity="fill"
app:tabIndicatorColor="@color/colorPrimary"
app:tabIndicatorHeight="4dp"
android:background="@android:color/transparent"
/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false"
android:layout_below="@+id/appBarLayout"
android:background="#ffffff" />
</RelativeLayout>
</LinearLayout>
和最终结果(我想要的那个):
感谢!!!