提升不在TabLayout上工作

时间:2017-09-24 13:29:12

标签: android xml android-elevation

我在ViewPager中的TabLayout上设置了提升,但它根本没有显示。我在stackoverflow上尝试了很多答案,但无法解决问题。设置android:clipToPadding =" false"在CoordinatorLayout中也没有解决问题。任何帮助,将不胜感激。这是我正在使用的布局的xml,但现在正在升级:

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <View
        android:id="@+id/statusBarBackground"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:clipToPadding="false" >

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipToPadding="false" >

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

    </ScrollView>

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill"
            app:elevation="3dp" />

    </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="android.support.design.widget.AppBarLayout$ScrollingViewBehavior" />

</android.support.design.widget.CoordinatorLayout>

5 个答案:

答案 0 :(得分:4)

  • 要使阴影可见,您必须 Root cause of ServletException. java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectWriter.forType(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/ObjectWriter; at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:278) at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:100) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:231) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:174) at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:81) Truncated. see log file for complete stacktrace 设置背景。它可以与窗口背景颜色相同(只要它是一个没有alpha的纯色)。

  • 此外,您必须给它TabLayout页边距才能看到高程。 最低保证金应该是 Tablayout

    elevation

答案 1 :(得分:2)

  

将app:elevation =“3dp”更改为android:elevation =“3dp”

type Foo struct {
    sync.Map
}

func (f *Foo) UnmarshalJSON(data []byte) error {
    var tmpMap map[string]interface{}
    if err := json.Unmarshal(data, &tmpMap); err != nil {
        return err
    }
    for key, value := range tmpMap {
        f.Store(key, value)
    }
    return nil
}

答案 2 :(得分:1)

使用CardView高程; 是的,也许是它的ckle脚,但它为我工作了

<android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardCornerRadius="0dp"
        app:cardElevation="5dp">
        <android.support.design.widget.TabLayout
                 android:id="@+id/tab"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 />
</android.support.v7.widget.CardView>

答案 3 :(得分:0)

您的布局存在以下几个问题:

  1. 更改app:elevation =“3dp” - &gt;机器人:海拔= “3DP”
  2. 将android:background =“@ color / colorPrimary”添加到TabLayout
  3. 将android:paddingBottom =“3dp”添加到AppBarLayout
  4. 主要想法是,如果视图背景是透明的或者父视图剪切阴影,则不会显示阴影。

    你仍然需要解决一些问题,但这是一个开始。

答案 4 :(得分:0)

将AppBarLayout android:elevation更改为0dp,并将TabLayout android:elevation更改为16dp

<input type="text" v-model="searchTxt">

data(){
    return{
        searchTxt: ''
    }
},

watch: {
    searchTxt: function(val) {
        if (!this.awaitingSearch) {
          setTimeout(() => {
            alert('searching');
            alert(this.searchTxt); //alert value

            this.awaitingSearch = false;
          }, 2500); // 2.5 sec delay
        }
        this.awaitingSearch = true;
    }
}