草庐IT

cocoa-design-patterns

全部标签

android - Material Design 中的动画调整 View 大小

在不涉及layoutParams的情况下,是否有另一种方法来调整、折叠或展开View?我在新的MaterialDesign和新的AndroidDialerApp的一些视频中看到了动画。谷歌说Material可以很容易地改变形状、大小、旋转、颜色等……但我找不到任何东西。是否向后兼容?直到现在,为了调整大小、折叠或展开View,我们必须像这样使用layoutParams,例如:publicstaticvoidcollapse(finalViewv){finalintinitialHeight=v.getMeasuredHeight();Animationa=newAnimation(){

android - 使用 Material Design 在工具栏中滑动标签

我一直在使用thispost学习使用MaterialDesign使用滑动标签.我已经设法在Toolbar的下方实现了SlidingTabs,就像这样:但现在我想创建ActionBar/ToolBarFragmentTabs... 最佳答案 我能够准确地重新创建您想要实现的内容。我正在使用这个Library对于选项卡。这是我创建的View:通过依赖导入库或下载项目并手动导入compile'com.jpardogo.materialtabstrip:library:1.0.9'styles.xml@color/primary@color

android - 如何在android Material Design中实现如下动画?

想在android中实现这个动画。感谢任何帮助。 最佳答案 我还没有测试过这个,但它应该可以工作。将此依赖项添加到您的应用程序gradle文件中:编译'com.github.ozodrukh:CircularReveal:1.1.1'在Activity开始时声明这些变量:LinearLayoutmRevealView;booleanhidden=true;将此添加到您的onCreate方法中:mRevealView=(LinearLayout)findViewById(R.id.reveal_items);mRevealView.s

c++ - design ala "object.method1().method2().method3()"的术语是什么?

这个设计的术语是什么?object.method1().method2().method3()..当所有方法都返回*this?我不久前找到了这个词,但同时又忘记了。我不知道如何在谷歌上搜索这个:)另外,如果有人能为问题想出更好的标题,请随时更改。谢谢Update-Gishu:看了之后,我觉得你的问题是误导w.r.t.提供的代码片段..(随意回滚)方法链object.method1().method2().method3()流畅的界面privatevoidmakeFluent(Customercustomer){customer.newOrder().with(6,"TAL").with

c++ - 是: "std::string can hold '\0' character" by design?

std::string实际上可以容纳'\0'字符这一事实一直都在出现。这当然与C风格的字符串不一致。所以我想知道,这是设计使然,还是遗漏,或者仅仅是标准不禁止它而编译器允许这种情况发生的事实? 最佳答案 我想知道你的争吵是什么。'\0'只是另一个字符。没有有效的方法可以在通用“char”字符串中禁止它。不幸的是,同一字符在C语言中具有特殊含义,但必须处理遗留代码在与它进行互操作时施加的每个限制。只要您坚持使用专门使用std::string的代码,这应该不是问题。为了解决您的意见,我们需要查看采用char*的构造函数,它将是basic

c++ - 我可以在这里使用 Curiously Recurring Template Pattern (C++) 吗?

我有一个C++应用程序,可以简化为如下所示:classAbstractWidget{public:virtual~AbstractWidget(){}virtualvoidfoo(){}virtualvoidbar(){}//(othervirtualmethods)};classWidgetCollection{private:vectorwidgets;public:voidaddWidget(AbstractWidget*widget){widgets.push_back(widget);}voidfooAll(){for(unsignedinti=0;ifoo();}}void

c++ - QML : Navigation between qml pages from design perception

我们需要开发一个QtQuick项目,其中我们有大约100个屏幕。我曾尝试为导航制作一个演示项目,点击按钮后会出现三个屏幕。我在页面之间的导航中使用了“状态”的概念。最初我尝试使用“加载器”进行相同的操作,但加载器无法保留页面的先前状态,它在导航期间重新加载整个页面。下面是main.qml的代码片段//importQtQuick1.0//totargetS605thEditionorMaemo5importQtQuick1.1Rectangle{id:main_rectanglewidth:360height:640Page1{id:page1}Page2{id:page2}Page3{

c++ - 在 Cocoa 项目中使用 C++ 类时找不到标准 C++ 包含

我有一个Cocoa项目(一个MacOSX应用程序),全部是Objective-C。我从另一个项目中引入了一个C++类(我知道它可以工作),并为它制作了一个Objective-C包装器。ObjC包装器类使用.mm扩展名。但是,C++头文件包含#includes到标准C++头文件(例如),我在这些文件上出错。一个最小的例子如下所示。CppClass是C++类,而CppWrapper是包装它的ObjC类。//CppClass.h#ifndef_CPP_CLASS_H_#define_CPP_CLASS_H_#includeclassCppClass{public:CppClass(){}~C

c++ - 有限状态机 : Bad design?

有限状态机通常被认为是OOP中的糟糕设计吗?我经常听到这样的话。而且,在我不得不使用它来处理一个非常古老的、未记录的C++片段之后,我倾向于同意。调试起来很痛苦。可读性/可维护性问题如何? 最佳答案 FSM永远不应该被认为是坏的。它们太有用了,但不习惯它们的人通常会认为它们很麻烦。有许多方法可以使用OOP实现其中之一。有些比其他的更丑。您的底层人员将使用switch语句、跳转表甚至“goto”。如果您正在寻找一种更简洁的方法,我建议您使用Boost'sStateChartlibrary,它专为在C++中实现UML状态图而构建。它利用

c++:Boost 1.48 类型特征和 Cocoa 包含怪异

我刚刚将我在OSXLion上开发的项目更新到版本1.48.0,该项目还包括Cocoaheader。这样做之后,我得到了一大堆错误,它们都指向has_prefix_operator.hpp和has_binary_operator.hpp,它们都指向如下行:BOOST_STATIC_CONSTANT(bool,value=(sizeof(check(((make()BOOST_TT_TRAIT_OPmake()),make())))==sizeof(::boost::type_traits::yes_type)));../../boost_1_48_0/boost/type_traits/