标签: material-design

Web与Angular材质的材料组件2

最近,MDL(Material Design Lite)项目的后续版本作为Web的材料组件推出.其目标之一是"与其他JS框架和库无缝集成".

还有另一个项目Angular Material2,专门为Angular(v2 +)提供材料设计组件.

这两个项目都在创建基于材料设计的UI组件.此外,它们具有类似的组件准备/在线开发,以及即将到来的相同组件(在此处此处列出).

有人可以帮我理解2个项目之间的重叠,我应该选择哪个新项目?

从根本上讲,我确实理解Angular Material2将更加无缝地与Angular项目紧密集成,而Web的Material Components将为多个JS框架提供钩子.但我没有看到重叠的原因,哪一个会有更多的动力(阅读更多的组件).

material-design angular-material2 material-components

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

如何在Angular中使用自定义主题调色板?

我想在整个应用程序中使用我公司的品牌颜色.

我发现了这个问题:AngularJS 2 - 材质设计 - 设置调色板,我可以构建一个所谓的自定义主题,但它基本上只是使用预制调色板的不同部分.我不想使用Material2的预定义颜色.我想要我独特的特殊品牌颜色.是否有更好的方式(更好?)来创建我自己的主题,而不仅仅是黑客攻击_palette.scss

我是否需要为我的品牌调色板制作mixin?如果是的话 - 任何有关如何正确操作的指南?不同色调的含义是什么(标有数字如:50,100,200,A100,A200 ......)?

有关这方面的任何信息将不胜感激!

sass material-design angular-material2 angular

69
推荐指数
3
解决办法
3万
查看次数

工具栏导航汉堡包图标丢失

我正在寻找一种方法来使用Drawer/DrawerToggle显示汉堡图标whitout并使用Android中包含的默认图标 在此输入图像描述

通过设置getSupportActionBar().setDisplayHomeAsUpEnabled(true);它显示后退箭头而不是hambuerger.Stackoverflow上的其他帖子(像这样或者这样)使用DrawerLayout或自定义drawable.我在Android源上找不到汉堡图标的矢量或png.

你知道如何在android/support库中找到原始的汉堡包图标吗?(或如何显示)

注意:可以在google.com/design网站上找到Vector和png: http ://www.google.com/design/spec/resources/sticker-sheets-icons.html#

在我的活动中

mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);

mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.d(LOG_TAG, "navigation clicked");
    }
});
Run Code Online (Sandbox Code Playgroud)

布局文件

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/>
Run Code Online (Sandbox Code Playgroud)

Styles.xml

<!-- Base application theme. -->
<style name="Theme.AppTheme" parent="Theme.AppCompat.Light.NoActionBar">


    <item name="colorPrimary">@color/primaryDef</item>
    <item name="colorPrimaryDark">@color/primaryDarkDef</item>
    <item name="colorAccent">@color/primaryDef</item>

    <!-- Remove the actionbar shadow-->
    <item name="android:windowContentOverlay">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-support-library material-design android-toolbar

68
推荐指数
9
解决办法
10万
查看次数

通告揭示了新活动的过渡

根据https://developer.android.com/training/material/animations.html

通过该ViewAnimationUtils.createCircularReveal()方法,您可以设置剪贴圆的动画以显示或隐藏视图.

要使用此效果显示以前不可见的视图:

// previously invisible view
View myView = findViewById(R.id.my_view);

// get the center for the clipping circle
int cx = (myView.getLeft() + myView.getRight()) / 2;
int cy = (myView.getTop() + myView.getBottom()) / 2;

// get the final radius for the clipping circle
int finalRadius = Math.max(myView.getWidth(), myView.getHeight());

// create the animator for this view (the start radius is zero)
Animator anim =
    ViewAnimationUtils.createCircularReveal(myView, cx, cy, 0, finalRadius);

// make the view visible and start the …
Run Code Online (Sandbox Code Playgroud)

animation android material-design

67
推荐指数
4
解决办法
4万
查看次数

当Snackbar解散自己时如何通知我?

我正在使用com.android.support:design:22.2.0图书馆的Snackbar .我用它来撤消删除.为了让我的生活更轻松,我将使UI看起来实际上已从数据源中删除了内容,如果未按下小吃栏中的撤消按钮,则实际执行数据源中的删除操作.所以,我想知道什么时候Snackbar不再可见,所以删除这些项目是安全的.

我可以在Snackbar上调用getView(),但我不确定我应该使用什么样的监听器.我试过setOnSystemUiVisibilityChangeListener()但是没有用,我相信它只适用于系统状态栏.

此外,Snackbar无法扩展,因为它有一个私有构造函数.

android material-design snackbar android-design-library android-snackbar

66
推荐指数
7
解决办法
3万
查看次数

Android中的灵活空间

使用本教程实现灵活空间模式(具有折叠工具栏的模式).

我正在尝试实现与Lollipop Contacts活动类似的效果,该活动在进入活动时开始查看图像标题的唯一部分:

在此输入图像描述

然后,用户可以向下滚动图像下方的布局,以便显示更多内容,直到达到最大值:

在此输入图像描述

在我的应用程序中,我无法使其工作.

结果是,当进入活动时,图像标题以其最大尺寸(AppBarLayout的大小)呈现,就像上面的布局一样,并且与Lollipop Contacts活动不同,它只显示图像的一部分.

这是设置AppBarLayout高度的代码(我希望屏幕宽度为最大高度):

int widthPx = getResources().getDisplayMetrics().widthPixels;
AppBarLayout appbar = (AppBarLayout)findViewById(R.id.appbar);
appbar.setLayoutParams(new CoordinatorLayout.LayoutParams(CoordinatorLayout.LayoutParams.MATCH_PARENT, widthPx));
Run Code Online (Sandbox Code Playgroud)

这是设置RecyclerView的代码.尝试使用scrollToPosition,认为它会提升RecyclerView的视图,但它根本没有效果:

mRecyclerView = (RecyclerView) findViewById(R.id.activity_profile_bottom_recyclerview);

    mRecyclerView.setHasFixedSize(true);

    // use a linear layout manager
    mLayoutManager = new LinearLayoutManager(this);

    mRecyclerView.setLayoutManager(mLayoutManager);

    // specify an adapter (see also next example)
    if(mAdapter == null){
        mAdapter = new ProfileAdapter(this, user, inEditMode);
        mRecyclerView.setAdapter(mAdapter);
    }

    mRecyclerView.scrollToPosition(mAdapter.getItemCount() - 1); // itemCount is 4
Run Code Online (Sandbox Code Playgroud)

这是布局xml:

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

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud)

java android android-layout material-design android-5.0-lollipop

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

如何更改TabLayout所选选项卡图标的颜色?

我正在使用a TabLayout,ViewPager我想知道如何最有效地更改TabLayout中所选标签图标的颜色.

谷歌的Youtube应用程序是如何实现这一功能的完美参考.在主页面上,有四个图标为深灰色.选择特定选项卡后,选项卡的图标将变为白色.

没有任何第三方库,我怎样才能达到同样的效果?

一种可能的解决方案显然是选择器.但在这种情况下,我必须找到图标的白色和灰色版本,然后在选中或取消选择选项卡时切换图标.我想知道是否有更有效的方法我可以突出显示图标颜色或其他东西.我在任何教程中都找不到这个.

编辑

我上面直接提到的解决方案需要为每个标签的图标使用两个drawable.我想知道是否有一种方法可以通过一个 drawable为每个标签的图标以编程方式进行.

java mobile android material-design android-tablayout

66
推荐指数
9
解决办法
6万
查看次数

如何让工具栏透明?

这是自我问答帖 我有透明的ActionBar覆盖布局.迁移到最新的支持库后,我被迫摆脱了ActionBar,转而使用工具栏.使其透明并覆盖该布局的旧方法不再适用.

<style name="CustomActionBarTheme" parent="@android:style/Theme.AppCompat">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="windowActionBarOverlay">true</item>
    <item name="android:actionBarStyle">@style/TransparentActionBar</item>
</style>

<style name="TransparentActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android material-design android-toolbar

65
推荐指数
11
解决办法
12万
查看次数

扩展类android.support.v7.widget.Toolbar时出错?

我正在尝试按照此方法为我的应用程序获取Material Design .

每当我运行App时,它都会显示以下错误:

扩展类android.support.v7.widget.Toolbar时出错.

我检查了我是否正确添加了appcompat.但这对我来说都是正确的.那么请告诉我,我做错了什么?

的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion '21.0.2'

    defaultConfig {
        applicationId "io.bxbxbai.feedlistviewdemo"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles 'proguard-rules.pro'
        }
    }
}

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile project(':materialDesign')
    compile 'com.balysv.materialmenu:material-menu:1.4.0'
    compile 'com.android.support:appcompat-v7:21.+'
}
Run Code Online (Sandbox Code Playgroud)

logcat的

02:11.641  20583-20583/io.bxbxbai.feedlistviewdemo E/AndroidRuntime? FATAL EXCEPTION: main
    Process: io.bxbxbai.feedlistviewdemo, PID: 20583
    java.lang.RuntimeException: Unable to start activity …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat material-design

65
推荐指数
7
解决办法
13万
查看次数

工具栏导航图标从未设置

我正在尝试新的工具栏组件,并在导航图标上遇到一些问题.我想为后台导航实现自定义图标:

在我的清单中,我将父母设置为我的活动:

<activity android:name=".CardsActivity" android:parentActivityName=".MainActivity">
    <!-- Parent activity meta-data to support API level 7+ -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
</activity>
Run Code Online (Sandbox Code Playgroud)

我声明工具栏是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.example.lollitest.MainActivity" >

    <android.support.v7.widget.Toolbar
        android:id="@+id/my_awesome_toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        android:layout_marginBottom="10dp"
        android:background="?attr/colorPrimary" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/my_awesome_toolbar"
        android:text="@string/hello_world" />

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

然后在我的活动中我配置工具栏如下:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setNavigationIcon(R.drawable.ic_good);
toolbar.setTitle("Title");
toolbar.setSubtitle("Sub");
toolbar.setLogo(R.drawable.ic_launcher);
setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)

哪个给我: 带后退按钮的工具栏

后面的图标不是我设置的图标setNavigationIcon()!无论我为方法提供什么样的绘图,导航图标始终是后退箭头.

我试图删除清单中的父关联,但唯一的效果是(显然)阻止按钮返回.

相反,如果我想要默认的后退箭头图标而不打电话setNavigationIcon()我根本没有任何图标.

处理工具栏中的导航图标(自定义和默认)的正确方法是什么?

NOte:我在Android 4.4上运行我的测试

android android-appcompat android-actionbar-compat material-design android-toolbar

64
推荐指数
4
解决办法
12万
查看次数