如何在android中为Fragment TabHost提供底部阴影?
Posted
技术标签:
【中文标题】如何在android中为Fragment TabHost提供底部阴影?【英文标题】:How to give bottom shadow to FragmentTabHost in android? 【发布时间】:2017-04-24 16:52:06 【问题描述】:您好,我希望我的片段中的标签主机有阴影。我的 XML 代码是
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical"
android:layout_marginTop="60dip"
>
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_
android:layout_ >
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_
android:layout_
android:layout_weight="0" />
</android.support.v4.app.FragmentTabHost>
<FrameLayout
android:id="@+id/realtabcontent"
android:layout_
android:layout_
android:layout_weight="1" />
</LinearLayout>
我尝试了 *** 上所有可用的解决方案,但它不起作用。请帮忙。
【问题讨论】:
你试过在 FragmentTabHost 的背景下的 Layer-list shadow 吗? 不。如何做到这一点? 你试过android:elevation=""
这个属性吗?
【参考方案1】:
Android没有这个属性,用来显示阴影。但可能的方法是:
添加一个灰色的纯线性布局,在其上添加您的实际布局,底部边距为 1 或 2 dp
有一个带有阴影的 9-patch 图像并将其设置为线性布局的背景
试试这个.. 创建 layout_shadow.xml 并放入 drawable 文件夹
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#CABBBBBB"/>
<corners android:radius="2dp" />
</shape>
</item>
<item
android:left="0dp"
android:right="0dp"
android:top="0dp"
android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
<corners android:radius="2dp" />
</shape>
</item>
</layer-list>
像这样应用到您的布局
android:background="@drawable/layout_shadow"
标签宿主的最终布局
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:background="@drawable/layout_shadow"
android:layout_
android:layout_ >
如果不行请告诉我
【讨论】:
不,它不工作。它给整个页面提供框阴影。但我只想要标签的底部阴影。 如果它不适合 2dp,它在这里工作得很好只需将 android:bottom="4dp" 属性更改为 4dp 或 10dp 并检查 试试 LinerLayout 比【参考方案2】:Layer-list drawable
是通过在背景中设置为视图赋予阴影效果的方法之一。
请按照此link 为视图创建不同的drawable,并检查此链接中提到的View Box Shadows
。
【讨论】:
我只想要底部阴影。 链接在哪里? @Mhandroid :是的,你可以设置底部。那里有解释 这个链接对普通布局很有用,但对我的标签没有用:( 请勾选该链接下的视图框阴影【参考方案3】:由于我使用的是 fragmenttabhost,因此无法操作它的视图。
【讨论】:
以上是关于如何在android中为Fragment TabHost提供底部阴影?的主要内容,如果未能解决你的问题,请参考以下文章
在 Fragment Android Studio 中为解析器 JSON 创建类
在 Adapter 或 Fragment 中为 ContactsContract 设置数据的 MIMETYPE
android ViewPager+Fragment 如何在ViewPager的Activity中获取Fragment中的控件对象