标签: androiddesignsupport

如何在android中创建s曲线布局

如何创建布局或视图,如附加图像、可用于 ImageView、Slider 等的形状。

android curve android-layout android-xml androiddesignsupport

2
推荐指数
1
解决办法
201
查看次数

Android设计支持库:FloatingActionButon(FAB)在早期版本的android上正确显示,在Lollipop上显示不正确

我添加了Android设计支持库.我正在使用两个模拟器测试应用程序,运行Lollipop和Jellybean.Jellybean版本正确显示FAB.在Lollipop版本上,FAB没有高程或边距.有关解决此问题的任何建议吗?

下面我发布了布局,活动和两个显示差异的图像.如果您需要更多代码,请告诉我,我会发布.

注意:我删除了大部分与问题无关的代码.

布局

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/mainLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:card_view="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=".MainActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="56dp"
            android:background="@color/primary"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

        <ImageView
            android:id="@+id/imShadow"
            android:layout_width="match_parent"
            android:layout_height="10dp"
            android:layout_below="@+id/toolbar"
            android:background="@drawable/toolbar_shadow"
            android:orientation="vertical"/>
    </RelativeLayout>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:src="@mipmap/ic_search"/>

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

活动

public class MainActivity extends AppCompatActivity {

    private Toolbar toolbarMain;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        iniToolbarMain();
        setSupportActionBar(toolbarMain);


        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        final CoordinatorLayout coordinatorLayout = (CoordinatorLayout) findViewById(R.id.mainLayout);

        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Snackbar.make(coordinatorLayout, "Hello World!", …
Run Code Online (Sandbox Code Playgroud)

android androiddesignsupport

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

CollapsingToolbarLayout崩溃

我有一个RecyclerView触发了CollapsingToolbarLayout,当我尝试重新打开4.2.2上的折叠工具栏时,我得到了下面的崩溃.有任何想法吗?

java.lang.IllegalArgumentException: width and height must be > 0
        at android.graphics.Bitmap.createBitmap(Bitmap.java:638)
        at android.graphics.Bitmap.createBitmap(Bitmap.java:620)
        at android.support.design.widget.CollapsingTextHelper.ensureExpandedTexture(CollapsingTextHelper.java:405)
        at android.support.design.widget.CollapsingTextHelper.setInterpolatedTextSize(CollapsingTextHelper.java:382)
        at android.support.design.widget.CollapsingTextHelper.calculateOffsets(CollapsingTextHelper.java:227)
        at android.support.design.widget.CollapsingTextHelper.setExpansionFraction(CollapsingTextHelper.java:203)
        at android.support.design.widget.CollapsingToolbarLayout$OffsetUpdateListener.onOffsetChanged(CollapsingToolbarLayout.java:754)
        at android.support.design.widget.AppBarLayout$Behavior.dispatchOffsetUpdates(AppBarLayout.java:851)
        at android.support.design.widget.AppBarLayout$Behavior.setAppBarTopBottomOffset(AppBarLayout.java:834)
        at android.support.design.widget.AppBarLayout$Behavior.scroll(AppBarLayout.java:793)
        at android.support.design.widget.AppBarLayout$Behavior.onNestedScroll(AppBarLayout.java:644)
        at android.support.design.widget.AppBarLayout$Behavior.onNestedScroll(AppBarLayout.java:583)
        at android.support.design.widget.CoordinatorLayout.onNestedScroll(CoordinatorLayout.java:1428)
        at android.support.v4.view.ViewParentCompat$ViewParentCompatStubImpl.onNestedScroll(ViewParentCompat.java:97)
        at android.support.v4.view.ViewParentCompat.onNestedScroll(ViewParentCompat.java:330)
        at android.support.v4.view.NestedScrollingChildHelper.dispatchNestedScroll(NestedScrollingChildHelper.java:162)
        at android.support.v7.widget.RecyclerView.dispatchNestedScroll(RecyclerView.java:8306)
        at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1387)
        at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2209)
        at android.view.View.dispatchTouchEvent(View.java:7127)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2170)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1905)
Run Code Online (Sandbox Code Playgroud)

更新:

看起来导致崩溃的库中的方法只检查高度或宽度是否大于0 - 但Bitmap要求两者都> 0:

private void ensureExpandedTexture() {
    if(this.mExpandedTitleTexture == null && !this.mExpandedBounds.isEmpty() && !TextUtils.isEmpty(this.mTextToDraw)) {
        this.mTextPaint.setTextSize(this.mExpandedTextSize);
        this.mTextPaint.setColor(this.mExpandedTextColor);
        int w = Math.round(this.mTextPaint.measureText(this.mTextToDraw, 0, this.mTextToDraw.length()));
        int h …
Run Code Online (Sandbox Code Playgroud)

android androiddesignsupport

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

如何在NavigationView中设置默认选中项?

当我点击该NavigationView项目时,其选择颜色会发生变化.但我不知道默认情况下如何检查第一个元素.

private void setupDrawerContent(NavigationView navigationView) {
  navigationView.setNavigationItemSelectedListener(
    new NavigationView.OnNavigationItemSelectedListener() {
      @Override
      public boolean onNavigationItemSelected(MenuItem menuItem) {
        menuItem.setChecked(true);
        mDrawerLayout.closeDrawers();
        return true;
     }
   });
}
Run Code Online (Sandbox Code Playgroud)

android navigationview androiddesignsupport

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

设计支持库,工具栏按钮裁剪波纹

我正在尝试利用CoordinatorLayout, AppBarLayout, CollapsingToolbarLayout, Toolbar和视差ImageView.看起来裁剪了工具栏菜单项的涟漪效果.下图显示了后退按钮在展开和部分折叠模式下的涟漪效果.在完全折叠模式下,根本不显示涟漪效应.我认为这是由ImageView位于那里的视差引起的.

在此输入图像描述

布局:

<?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

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

        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minHeight="56dp"
            android:layout_weight="1.0"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginTop="48dp"
                android:scaleType="centerInside"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.4"/>

            <android.support.v7.widget.Toolbar
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

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

        <android.support.design.widget.TabLayout
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:background="@color/transparent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:tabGravity="fill"
            app:tabMode="fixed"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

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

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

ImageView显示一个9-patch"编图像.布局是否有问题,或者设计支持库中的错误/无法在ImageView上绘制波纹?

android android-layout androiddesignsupport

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

工具栏不与TabLayout合并

Toolbar当用户在的一个TabLayout标签(由提供ViewPager)中滚动时,我想让折叠折叠起来。

这是我想要的功能:

在此处输入图片说明

在此处输入图片说明

但是,我的布局不仅不滚动,而且还切断了底部的内容(确切地说,它切断了48dp -工具栏的高度):

在此处输入图片说明

我使用ViewPager将每个片段显示为选项卡。碎片由一个简单的ScrollView持有TextView。这是布局:

<?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

        <android.support.design.widget.TabLayout
            android:id="@+id/ueber_tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:tabIndicatorColor="@android:color/white"/>

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

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

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

每个片段具有以下布局:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:id="@+id/ueber_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="14sp"
        android:textColor="#000000"
        android:linksClickable="false"
        android:textColorLink="#000000"
        android:fontFamily="serif"
        android:padding="16dp"/>

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

ViewPager由ViewPagerAdapter设置:

ViewPager viewPager = (ViewPager) findViewById(R.id.ueber_viewpager);

ViewPagerAdapter adapter = new …
Run Code Online (Sandbox Code Playgroud)

android android-toolbar androiddesignsupport android-tablayout

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

在Snackbar上移动cardview - 协调员布局

我在屏幕底部的cardview中有一个自定义文本视图,并使用快餐栏显示登录时的错误消息.现在,当快餐栏显示时,注册文本视图应该向上移动.我尝试过使用协调器布局,但它不起作用.这是图像在此输入图像描述

android material-design android-snackbar androiddesignsupport android-coordinatorlayout

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

Android TabLayout固定模式但权重不同

我有4个标签,其中一个有其他的双倍尺寸,所以重量将是:20%40%20%20%

但是当我使用TabLayout(来自android设计支持库)将模式设置为固定时,那么我将被迫拥有相同的权重!这是应用宽度的源代码的一部分:

private void updateTabViewLayoutParams(LinearLayout.LayoutParams lp) {
    if (mMode == MODE_FIXED && mTabGravity == GRAVITY_FILL) {
        lp.width = 0;
        lp.weight = 1;
    } else {
        lp.width = LinearLayout.LayoutParams.WRAP_CONTENT;
        lp.weight = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

但我需要不同的重量,以适应​​屏幕宽度.任何方式来应​​用我自己的重量?

android android-design-library androiddesignsupport android-tablayout

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

是否可以以编程方式在运行时更改FloatingActionButton大小?

我正在使用支持库中的FloatingActionButton.我注意到只能使用属性app在fab中更改大小:fab_size ="".

我查看了源代码,并且没有方法可以在app运行时更改fab大小.

我只是想根据用户输入在MININORMAL之间改变fab的大小,所以我需要以编程方式进行.

有没有人找到办法做到这一点?

android android-support-library floating-action-button androiddesignsupport

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

使用ViewPager的CollapsingToolbarLayout中的片段不会向下滑动

我有一个带有CollapsingToolbarLayout和TabLayout的活动.当我向右和向左滑动时,它在片段之间完美地移动.但是,当我尝试向下滚动时(屏幕截图中的红色箭头),它会忽略它.我尝试将ScrollView添加到片段中,但它没有做出不同的改变.有什么想法吗?

顺便说一句 - 不知何故,在第二个片段,一个RecycleView,滑动工作.这是在右边看到的屏幕截图:

截图

MainActivity的XML:

    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/root_coordinator"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/app_bar_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.design.widget.CollapsingToolbarLayout
                android:id="@+id/collapsing_toolbar_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:contentScrim="?attr/colorPrimary"
                app:layout_scrollFlags="scroll|enterAlways">

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="122dp"
                    android:scaleType="centerCrop"
                    android:src="@drawable/rsz_bg_cover"
                    app:layout_collapseMode="parallax" />

                <android.support.v7.widget.Toolbar
                    android:id="@+id/app_bar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                    app:layout_collapseMode="pin" />

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

            <android.support.design.widget.CollapsingToolbarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_scrollFlags="scroll|enterAlways">

                <android.support.design.widget.TabLayout
                    android:id="@+id/tab_layout"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@color/colorAccent"
                    app:layout_collapseMode="pin"
                    app:tabIndicatorColor="@color/colorPrimary"
                    app:tabSelectedTextColor="@android:color/white"
                    app:tabTextColor="#EEE" />
            </android.support.design.widget.CollapsingToolbarLayout>

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

        <android.support.v4.view.ViewPager
            android:id="@+id/view_pager"
            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_drawer"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:menu="@menu/menu_drawer" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

layout android androiddesignsupport

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

Android:圈子个人资料图片

我正在尝试为我的应用程序创建一个配置文件页面.这是我想要创建的示例.

一

我想知道如何在封面底部对齐带圆圈的图像.我糊涂了.

谢谢.

android androiddesignsupport

1
推荐指数
2
解决办法
2万
查看次数

平板电脑的Android UI设计

我正在为phone和实现一个应用程序tablet.我不确定哪个layout foldervalue folder将被包含在项目中.任何人都可以给我一些关于layout folders要包含在res应用程序文件夹中的想法.

user-interface android tablet androiddesignsupport

-1
推荐指数
1
解决办法
953
查看次数