标签: android-elevation

Android提升和setElevation效果不一样

我注意到当我在xml中使用elevation属性并将其设置为4dp时,我得到一个正常的阴影.当我在java中使用setElevation(4)时,我得到的阴影比xml属性少.我该如何解决这个问题?

xml android shadow android-elevation pixel-density

6
推荐指数
2
解决办法
4378
查看次数

前棒棒糖设备的工具栏上未显示高程

我想在Lickipop设备上看到的KitKat设备上我的工具栏上显示相同的高程效果.以下是KitKat和Lollipop设备的屏幕截图.我已经提到了这个链接,但我的问题还没有解决.

棒棒糖装置:

在此输入图像描述


Kitkat设备:

在此输入图像描述


ContentMain.xml

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.global.market.checkinternet.MainActivity">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#fff"
    android:theme="@style/AppTheme.AppBarOverlay">

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



</android.support.design.widget.AppBarLayout>
    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="scrollable"
        android:background="#3F51B5"
        style="@style/MyCustomTabLayout"
        app:tabTextColor="#ffffff"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"  />


</LinearLayout>
Run Code Online (Sandbox Code Playgroud)


app_bar_main.xml

    <?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:fitsSystemWindows="true"
    tools:context="com.global.market.MainActivity">

    <include layout="@layout/content_main" />



</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

xml android shadow android-toolbar android-elevation

6
推荐指数
1
解决办法
986
查看次数

PageTransformer在设置高程动画时具有"捕捉"效果

我有一个ViewPager正在使用的PageTransformer.每当我滚动时,PageTransformerViewPager都会使用它为我内部卡片的高度设置动画.这是代码:

mViewPager.setPageTransformer(false, new ViewPager.PageTransformer() {
            @Override
            public void transformPage(View page, float position) {
                View card = ((ViewGroup)page).getChildAt(0);
                CardView cardView = (CardView) card;

                float absoluteValue = Math.abs(position);

                if (absoluteValue < 1.3f) {
                    float scale = 1.3f - absoluteValue;
                    float scaleElevation = scale * 10f;
                    cardView.setCardElevation(scaleElevation);
                    //cardView.setElevation(scaleElevation);
                    Log.d(TAG, "scaleElevation: " + scaleElevation + ", position: " + position);

                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

非常坦率的.现在,当你滚动时,使用定义的比例因子和滚动中的位置滚动高程"动画".但是,当您完成滚动到新页面时,会出现一种与阴影相关的"捕捉"效果.

这是一个清晰显示问题的视频:https://gfycat.com/FlakyWarlikeEgg

那么这里发生了什么,解决方案是什么?

android android-viewpager android-pagetransformer android-cardview android-elevation

6
推荐指数
0
解决办法
416
查看次数

在ViewPager中更改碎片时,使用Elevation闪烁创建的阴影

我对使用的阴影有问题Elevation.

我的屏幕包含一个ViewPager4个不同的Fragments和一个TabLayout用于导航.第一个和最后一个片段都包含一个RecyclerViewCardView元素填充的片段.每当我在第1页和第4页之间切换时,CardView元素下方的阴影首先出现在它们的位置之外,并在大约半秒钟过后突然进入正确的位置.

这仅在切换中的非相邻片段之间发生ViewPager.如果我按顺序从1到4移动,则不会发生这种情况.

具有Elevation集合的每个其他元素都有这个问题,而不仅仅是CardView.

我的ViewPager实现:

mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (NoSwipeViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager.setOffscreenPageLimit(4);
tabLayout.setupWithViewPager(mViewPager);
Run Code Online (Sandbox Code Playgroud)

RecyclerView中使用的CardView之一

<android.support.v7.widget.CardView
        style="@style/Custom.CarView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        card_view:cardUseCompatPadding="true" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/post_image"
            android:layout_width="match_parent"
            android:layout_height="179dp"
            android:layout_gravity="center"
            android:scaleType="centerCrop"
            app:imageUrl="@{photo.avatar_url}"
            tools:background="@color/com_facebook_blue" />

        <Button
            android:id="@+id/edit_item_imageView"
            style="@style/Widget.AppCompat.Button.Borderless"
            android:layout_width="29dp"
            android:layout_height="37dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:background="@android:color/transparent" />

        <ImageView
            android:id="@+id/image_edit"
            android:layout_width="12dp"
            android:layout_height="24dp"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/profile_post_options" />

        <TextView
            android:id="@+id/textview_comment"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/post_image" …
Run Code Online (Sandbox Code Playgroud)

android android-elevation

6
推荐指数
1
解决办法
942
查看次数

片段动画期间,Android新片段出现在旧片段的下方

我在片段之间使用动画:

从左侧滑入:

<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="600"
    android:propertyName="x"
    android:valueFrom="2000"
    android:valueTo="0"
    android:valueType="floatType"
    android:fillAfter="true"/>
</set>
Run Code Online (Sandbox Code Playgroud)

从右侧滑入:

<?xml version="1.0" encoding="utf-8"?>
<set>
    <objectAnimator
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="600"
        android:propertyName="x"
        android:valueFrom="0"
        android:valueTo="-400"
        android:valueType="floatType"/>
</set>
Run Code Online (Sandbox Code Playgroud)

该动画将前一个片段向左移动,而新片段从右移。我将其与片段事务一起使用。

transaction.setCustomAnimations(R.animator.slide_in_from_left,R.animator.slide_in_from_right);
Run Code Online (Sandbox Code Playgroud)

当新片段出现时,我遇到了麻烦,他将其滑到旧片段的下面,为解决此问题,我在新片段上加了一个标高,但我想在21以下使用API​​解决方案。是否有可能将新片段强制在较旧的片段

android android-fragments android-elevation

6
推荐指数
1
解决办法
914
查看次数

Android按钮高程阴影不起作用

我正在尝试制作一个使用高程阴影的按钮,背景图像是我用gmail png登录的.该按钮包含在相对布局中.无论我尝试做什么,高程都不会显示.我尝试过其他论坛问题的解决方案而没有工作.

这是我的按钮代码

<Button
    android:id="@+id/google"
    android:layout_width="270dp"
    android:layout_height="38dp"
    android:layout_marginTop="30dp"
    android:layout_centerHorizontal="true"
    android:background="@drawable/google"
    android:elevation="10dp"
    android:layout_below="@id/slogan"/>
Run Code Online (Sandbox Code Playgroud)

谷歌drawable是我从Adobe XD导出的png图像.有人可以给我一个关于我做错的指针吗?谢谢.

另外,我意识到,如果我将按钮的背景设置为android:color/white,则会出现阴影.所以我认为问题是png可绘制的?高程不适用于png图像吗?有解决方法吗?

android material-design android-elevation

6
推荐指数
1
解决办法
5688
查看次数

在Android高程/阴影中,在生成视图的位图时不显示

我正在生成视图的位图,以将其显示为地图上的标记.它工作正常,但我面临的问题是视图的高度没有显示.

private Bitmap getMarkerBitmapFromView(View view) {

        view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
        view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
        //view.buildDrawingCache();
        view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        Bitmap returnedBitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(),
                Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(returnedBitmap);
        /*canvas.drawColor(Color.WHITE, PorterDuff.Mode.SRC_IN);
        Drawable drawable = view.getBackground();
        if (drawable != null)
            drawable.draw(canvas);
        */
        view.draw(canvas);
        return returnedBitmap;

    }
Run Code Online (Sandbox Code Playgroud)

android bitmap google-maps-markers android-canvas android-elevation

6
推荐指数
1
解决办法
988
查看次数

为什么我不能在以编程方式添加的视图上设置高程?

免责声明:我使用的是 Xamarin.Android。

我创建了一个视图,设置了它的高度,然后将它添加到我的主布局中。当我触发事件时,视图成功添加到布局中,但没有任何高程阴影。

这是我正在使用的内容:

以编程方式添加的视图:

public class TooltipTest : FrameLayout
{
    private Context context;
    private ShapeDrawable box;
    private View carrot;
    private string message;

    public TextView TooltipText
    {
        get;
        private set;
    }

    public TooltipTest(Context context, string message) : base(context)
    {
        this.context = context;
        this.message = message;

        Initialize();
    }

    private void Initialize()
    {
        CreateText();
    }

    private void CreateText()
    {
        int paddingTopBottom = 30;
        int paddingLeftRight = 27;

        TooltipText = new TextView(context);
        TooltipText.Text = message;
        TooltipText.SetTextColor(new Color(ContextCompat.GetColor(context, Resource.Color.tooltipText)));
        TooltipText.SetTextSize(ComplexUnitType.Sp, 14f);
        TooltipText.SetPadding(paddingLeftRight, paddingTopBottom, paddingLeftRight, …
Run Code Online (Sandbox Code Playgroud)

android xamarin.android android-elevation

5
推荐指数
1
解决办法
5363
查看次数

使用 TabLayout 添加片段时出现 Material Design 高程问题

我目前正在开发 v22 的应用程序并使用以下库:

compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:design:22.2.1'
Run Code Online (Sandbox Code Playgroud)

我只有一个名为HomeActivity 的活动,里面有一个导航抽屉。这是activity_home.xml布局:

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<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"
    android:fitsSystemWindows="false">

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

        <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.ActionBar" />

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

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        />

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

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:layout_gravity="start"
    app:menu="@menu/menu_navigation"/>
Run Code Online (Sandbox Code Playgroud)

因此,每次我从导航抽屉中选择一个项目时,我都会@+id/content_frame用一个新的 Fragment替换 FrameView ,如下所示:

int id = menuItem.getItemId();
            switch (id)
            {
                case R.id.gazzette:
                    fragmentManager.beginTransaction()
                            .replace(R.id.content_frame, new ListViewFragment())
                            .commit();
                    drawerLayout.closeDrawers();
                    break;
                case R.id.concorsi: …
Run Code Online (Sandbox Code Playgroud)

android fragment material-design android-elevation android-tablayout

5
推荐指数
1
解决办法
1009
查看次数

HardwareAccelerated false 删除海拔

在我的 androidManifest 中将硬件加速设置为 false 会从我的视图中删除高程..

当硬件加速为 false 时,它​​会删除提升

当硬件加速为真时,有提升但没有平滑滚动

有什么办法可以解决这个问题,我的应用程序中需要这两样东西..

android android-layout android-view android-activity android-elevation

5
推荐指数
1
解决办法
1151
查看次数