Questions tagged «material-design»

材质设计是Android 5.0 Lollipop引入的Google跨平台和设备的视觉,动作和交互设计指南。

8
创建看起来像材料设计准则的SearchView
我目前正在学习如何将我的应用程序转换为Material design,并且现在有点卡住了。我添加了工具栏,并在导航抽屉中覆盖了所有内容。我现在正在尝试创建一个类似于材料指南中的可扩展搜索: 这是我现在所能获得的,我不知道如何像上面这样进行: 这是我的菜单xml: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:icon="@android:drawable/ic_menu_search" android:title="Search" app:showAsAction="always" app:actionViewClass="android.support.v7.widget.SearchView" /> </menu> 那行得通,我得到一个菜单项,该菜单项可以扩展到SearchView,并且可以很好地过滤列表。虽然看起来与第一张图片不一样。 我尝试使用MenuItemCompat.setOnActionExpandListener(),R.id.action_search所以可以将主页图标更改为后退箭头,但这似乎不起作用。监听器中没有任何内容。即使这样行​​得通,它也不会非常接近第一张图片。 如何在新的appcompat工具栏中创建类似于材料指南的SearchView?


11
如何更改新的TabLayout指示器的颜色和高度
我在玩new时android.support.design.widget.TabLayout,发现一个问题,在类定义中,没有更改指示器颜色和默认高度的方法。 做一些研究,发现默认的指示器颜色取自AppTheme。具体是从这里: <item name="colorAccent">#FF4081</item> 现在,就我而言,如果更改colorAccent,它将影响使用该值作为背景色的所有其他视图,例如ProgressBar 现在,除了之外,还有什么方法可以将indicatorColor更改为其他内容colorAccent?

17
CardView在Android L中未显示阴影
我在Listview中的Cardview在Android L(Nexus 5)中没有显示阴影。同样,圆形边缘也没有正确显示。这是Listview的Adapter View的代码: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res/com.example.myapp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:cardBackgroundColor="@android:color/white" android:foreground="?android:attr/selectableItemBackground" app:cardCornerRadius="4dp" app:cardElevation="4dp" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin" > <TextView android:id="@+id/tvName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginTop="@dimen/padding_small" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:textAppearance="?android:attr/textAppearanceLarge" /> <ImageView android:id="@+id/ivPicture" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/tvName" android:layout_centerHorizontal="true" android:scaleType="fitCenter" /> <TextView …


16
BottomSheetDialogFragment的圆角
我有一个自定义的BttomSheetDialogFragment,我想在底部视图的顶部有圆角 这是我的自定义类,它使我想要从底部显示的布局膨胀 View mView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mView = inflater.inflate(R.layout.charge_layout, container, false); initChargeLayoutViews(); return mView; } 而且我也有这个xml资源文件作为背景: <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:topRightRadius="35dp" android:topLeftRadius="35dp" /> <solid android:color="@color/white"/> <padding android:top="10dp" android:bottom="10dp" android:right="16dp" android:left="16dp"/> 但是问题是,当我将此资源文件设置为布局的根元素的背景时,拐角仍未圆化 而且我不能使用下面的代码: this.getDialog().getWindow().setBackgroundDrawableResource(R.drawable.charge_layout_background); 因为它覆盖了BottomSheetDialog的默认背景,并且在我的Bottom View上方没有任何半透明的灰色

4
如何模仿Google Maps的底页3个阶段的行为?
背景 我被指派制作一个行为类似于Google Maps显示找到结果底部的UI。 它具有三个不同的阶段: 底部内容。上方区域仍可触摸,底部不会滚动任何内容 全屏内容,而上部区域具有较大的标题。 全屏内容,而上方区域只有工具栏。 这就是我在Google Maps上谈论的内容: 问题 事实是,底层表还不是设计库的一部分(尽管在这里是要求的)。 不仅如此,UI似乎也很复杂,需要在多个阶段处理工具栏。 我尝试过的 我已经找到了一个很好的(足够的)底纸库(在此处),并向其片段样本中添加了内容,使其具有与材料设计样本中所示的大致相同的视图(例如此处),并具有一个CollapsingToolbarLayout来处理阶段2 + 3。 在我制作的应用程序中,我还必须在滚动时移动图标,但是我认为,如果我成功完成了其余工作,这应该很容易。这是代码: fragment_my.xml <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout android:id="@+id/main_content" 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.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="@dimen/detail_backdrop_height" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"> <ImageView android:id="@+id/backdrop" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" app:layout_collapseMode="parallax"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" …


8
使用attr / selectableItemBackground作为背景时,如何修改波纹颜色?
我已经看到了一些SO问题,他们提供了一些可能的方法来实现我想要的。例如: 用 colorControlHighlight在styles.xml中属性。 这是我的styles-v21.xml: <style name="SelectableItemBackground"> <item name="android:colorControlHighlight">#5677FC</item> <item name="android:background">?attr/selectableItemBackground</item> </style> 而我的小部件: <TextView android:id="@+id/tv_take_photo_as_bt" android:layout_width="280dp" android:layout_height="48dp" android:text="@string/act_take_photo" style="@style/SelectableItemBackground"/> 而且它不起作用。我还尝试添加parent="Theme.AppCompat到“ SelectableItemBackground”样式,或者更改为colorControlHighlight(no android: prefix)",或更改为?android:attr/selectableItemBackground,都没有用。 backgroundTint在布局中使用属性。 所以我加android:backgroundTint="#5677FC"了TextView。仍然没用。然后,我尝试将其更改android:backgroundTintMode为src_in和src_atop,但它们从未改变。 因此,当?attr/selectableItemBackground用作背景时,如何更改波纹颜色。我只关注棒棒糖及以上。先感谢您!


16
如何更改小吃店的背景颜色?
我在alertDialog的正面单击中的DialogFragment中显示小吃栏。这是我的代码段。 Snackbar snackbar = Snackbar.make(view, "Please enter customer name", Snackbar.LENGTH_LONG) .setAction("Action", null); View sbView = snackbar.getView(); sbView.setBackgroundColor(Color.BLACK); snackbar.show(); 我正在将dialogfragment的视图传递给小吃店。我想要背景颜色黑色吗?我怎样才能做到这一点?我在DialogFragment中返回alertDialog。我设置对话框的主题如下 <style name="MyAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> <!-- Used for the buttons --> <item name="colorAccent">@color/accent</item> <!-- Used for the title and text --> <item name="android:textColorPrimary">@color/primary</item> <!-- Used for the background --> <item name="android:background">@color/white</item> </style> 尽管我将对话框的背景色设置为白色,但应通过将背景色设置为小吃栏来覆盖它。

3
Ionic指令与Ionic Framework的Angular材质指令
我想在材料设计中使用离子。我被困在将离子指令与自定义CSS和angular-material结合使用之间 我已经读到,使用离子指令,我们可以获得许多有效的功能,例如 即使导航到其他视图并返回到页面,也可以使用UI-router记住应用数据 离子列表项仅在显示高度时呈现,并在向下或向上滚动时重新使用 并改善了许多性能。 但是,如果我使用离子指令,则它们没有材料设计。 如果我使用角形材料,则不会获得这些性能改进,也不会具有移动应用程序所需的其他功能。 角材料指令就像 <md-list> <md-item ng-repeat="item in items"> Hello, {{item}}! </md-item> </md-list> 离子指令就像 <ion-list> <ion-item ng-repeat="item in items"> Hello, {{item}}! </ion-item> </ion-list> 看起来Ionic正在资助角材料项目的开发,那么为什么角材料与离子材料不兼容? 如何在不损失离子性能和特性的情况下使用角材料组件? 要么 使用离子材料设计会更好吗?

13
Android支持设计TabLayout:重力中心和模式可滚动
我正在尝试在项目中使用新的Design TabLayout。我希望布局能够适应每种屏幕尺寸和方向,但是可以在一个方向上正确看到它。 我正在将我的tabLayout设置为Gravity和Mode: tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER); tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); 因此,我希望如果没有空间,则tabLayout是可滚动的,但是如果有空间,则它将居中。 从指南: public static final int GRAVITY_CENTER用于在TabLayout中心布置标签的重力。 public static final int GRAVITY_FILL用于尽可能多地填充TabLayout的重力。该选项仅在与MODE_FIXED一起使用时才生效。 public static final int MODE_FIXED固定选项卡可同时显示所有选项卡,最好与可在选项卡之间快速旋转的内容一起使用。选项卡的最大数量受视图宽度限制。固定制表符的宽度相等,基于最宽的制表符标签。 public static final int MODE_SCROLLABLE可滚动选项卡在任何给定时刻显示选项卡的子集,并且可以包含更长的选项卡标签和更大数量的选项卡。当用户不需要直接比较选项卡标签时,它们最适合用于在触摸界面中浏览上下文。 因此GRAVITY_FILL仅与MODE_FIXED兼容,但在GRAVITY_CENTER中未指定任何内容,我希望它与MODE_SCROLLABLE兼容,但这就是我使用GRAVITY_CENTER和MODE_SCROLLABLE获得的 因此,它在两个方向上都使用SCROLLABLE,但未使用GRAVITY_CENTER。 这是我对景观的期望;但是要拥有它,我需要设置MODE_FIXED,所以我得到的肖像是: 如果tabLayout适合屏幕,为什么GRAVITY_CENTER无法用于SCROLLABLE?有没有办法动态设置重力和模式(并查看我的期望)? 非常感谢你! 编辑:这是我的TabLayout的布局: <android.support.design.widget.TabLayout android:id="@+id/sliding_tabs" android:layout_width="match_parent" android:background="@color/orange_pager" android:layout_height="wrap_content" />

8
Activity启动时如何显示Snackbar?
我想Snackbar (android.support.design.widget.Snackbar)在活动开始时显示android ,就像我们显示一样Toast。 但是问题是我们在创建Snackbar像这样的时候必须指定父布局: Snackbar.make(parentlayout, "This is main activity", Snackbar.LENGTH_LONG) .setAction("CLOSE", new View.OnClickListener() { @Override public void onClick(View view) { } }) .setActionTextColor(getResources().getColor(android.R.color.holo_red_light )) .show(); 当我们Snackbar在活动开始时显示没有任何点击事件的情况下,如何给出父级布局(如果是点击事件,我们可以轻松地传递父级视图)?

2
如何在Angular中使用自定义主题调色板?
我想在整个应用程序中使用公司的品牌颜色。 我发现了这个问题:AngularJS 2-材质设计-设置调色板,我可以在其中建立一个自定义主题,但它基本上只是使用预先构建的调色板的不同部分。我不想使用Material2的预定义颜色。我想要我独特和特别的品牌色彩。是否有一种比单独修改主题更好的方法(对吗?)_palette.scss? 我需要为我的品牌调色板做一个混搭吗?如果是这样-有关如何正确执行操作的任何指南?不同颜色的阴影(标有数字:50、100、200,A100,A200 ...)的含义是什么? 关于这个领域的任何信息将不胜感激!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.