标签: vector

在前Lollipop崩溃时使用Android矢量Drawables

我在Lollipop之前使用android中的矢量drawables,这些是我的一些库和工具版本:

  • Android Studio:2.0
  • Android Gradle插件:2.0.0
  • 构建工具:23.0.2
  • Android支持库:23.3.0

我在我的应用级别添加了此属性 Build.Gradle

android {  
  defaultConfig {  
    vectorDrawables.useSupportLibrary = true  
   }  
}
Run Code Online (Sandbox Code Playgroud)

还值得一提的是,我使用了一个额外的drawable,如Android官方博客(此处链接)中所述的LayerDrawable(layer_list),用于设置外部矢量绘图的drawablesapp:srcCompat

<level-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/search"/>
</level-list>
Run Code Online (Sandbox Code Playgroud)

你会发现在app之外直接引用矢量drawable:srcCompat将在Lollipop之前失败.但是,AppCompat确实支持在另一个可绘制容器(如StateListDrawable,InsetDrawable,LayerDrawable,LevelListDrawable和RotateDrawable)中引用它们时加载矢量drawable.通过使用此 间接,您可以在TextView的android:drawableLeft属性中使用向量drawable,这通常不能支持向量drawable.

当我使用的app:srcCompat一切工作正常,但当我使用时:

android:background
android:drawableLeft
android:drawableRight
android:drawableTop
android:drawableBottom
Run Code Online (Sandbox Code Playgroud)

上ImageView,ImageButton,TextView或EditText到棒棒糖之前,它引发厚望:

Caused by: android.content.res.Resources$NotFoundException: File res/drawable/search_toggle.xml from drawable resource ID #0x7f0200a9
Run Code Online (Sandbox Code Playgroud)

android vector android-compatibility android-support-library android-drawable

81
推荐指数
9
解决办法
5万
查看次数

迭代C++向量从结尾到开始

是否可以迭代从结尾到开头的向量?

for (vector<my_class>::iterator i = my_vector.end();
        i != my_vector.begin(); /* ?! */ ) {
}
Run Code Online (Sandbox Code Playgroud)

或者只有这样的东西才有可能:

for (int i = my_vector.size() - 1; i >= 0; --i) {
}
Run Code Online (Sandbox Code Playgroud)

c++ iterator vector

78
推荐指数
7
解决办法
9万
查看次数

为什么我更喜欢使用vector来deque

以来

  1. 它们都是连续的记忆容器;
  2. 特征明智,deque几乎所有的矢量都有,但更多,因为它在前面插入更有效.

为什么有人对子级宁愿std::vector到std::deque?

c++ stl vector deque

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

C++中向量的初始容量

什么是capacity()的std::vector这是使用默认constuctor产生的?我知道这size()是零.我们可以声明默认构造的向量不会调用堆内存分配吗?

这样就可以使用单个分配创建一个具有任意保留的数组,例如std::vector<int> iv; iv.reserve(2345);.让我们说出于某种原因,我不想size()在2345年开始.

例如,在Linux上(g ++ 4.4.5,内核2.6.32 amd64)

#include <iostream>
#include <vector>

int main()
{
  using namespace std;
  cout << vector<int>().capacity() << "," << vector<int>(10).capacity() << endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

印刷0,10.这是规则,还是STL供应商依赖?

c++ memory-management stl vector

77
推荐指数
5
解决办法
5万
查看次数

C#等价的C++向量,具有连续的内存?

什么是C#等价的C++向量?

我正在寻找这个功能:

拥有连续存储内存的动态数组,对访问与标准数组没有性能损失.

我在搜索他们说.NET equivalent to the vector in C++ is the ArrayList,所以:

ArrayList是否具有连续的内存功能?

c# c++ vector

76
推荐指数
5
解决办法
17万
查看次数

在Python中减去2个列表

现在我将vector3值表示为列表.有没有办法减去其中2个像vector3值,比如

[2,2,2] - [1,1,1] = [1,1,1]
Run Code Online (Sandbox Code Playgroud)

我应该使用元组吗?

如果它们都没有在这些类型上定义这些操作数,我可以改为定义它吗?

如果没有,我应该创建一个新的vector3类吗?

python tuples list vector

75
推荐指数
8
解决办法
13万
查看次数

动态分配的阵列的理想增长率是多少?

C++有std :: vector,Java有ArrayList,许多其他语言都有自己的动态分配数组.当动态数组空间不足时,它会重新分配到更大的区域,旧值将被复制到新数组中.这种阵列性能的核心问题是阵列的大小增长速度.如果你总是只能变得足够大以适应当前的推动,那么你每次都会重新分配.因此,将数组大小加倍,或将其乘以1.5倍是有意义的.

有理想的生长因子吗?2倍?1.5倍?理想上,我的意思是数学上合理,最佳平衡性能和浪费的记忆.理论上,我认识到,鉴于您的应用程序可能具有任何可能的推送分布,这在某种程度上取决于应用程序.但我很想知道是否有一个"通常"最好的值,或者在一些严格的约束条件下被认为是最好的.

我听说有一篇关于这个的文章,但我一直都找不到.

arrays math vector arraylist dynamic-arrays

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

将向量传递给函数,值与引用C++

我用C++编写代码.如果我有一些功能void foo(vector<int> test),我在程序中调用它,矢量是通过值还是引用传递的?我不确定,因为我知道向量和数组是相似的,并且类似的函数void bar(int test[])会通过引用(指针?)而不是值传递测试.我的猜测是,如果我想避免传递值,我需要明确地通过指针/引用传递向量,但我不确定.

c++ arrays vector

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

如何判断一个向量而不是另一个向量?

在matlab中,有一种方法可以在一个向量中找到值,但在另一个向量中却找不到.

例如:

x <- c(1,2,3,4)
y <- c(2,3,4)
Run Code Online (Sandbox Code Playgroud)

是那里会告诉我,在价值的任何功能x,在不y为1?

r vector

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

Octave/Matlab:向向量添加新元素

有一个向量x,我必须添加一个元素(newElem).

之间有什么区别 -

x(end+1) = newElem; 
Run Code Online (Sandbox Code Playgroud)

和

x = [x newElem];
Run Code Online (Sandbox Code Playgroud)

?

matlab element vector octave

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