【问题标题】:How to make a horizontal color scheme in android如何在android中制作水平配色方案
【发布时间】:2017-03-11 12:14:37
【问题描述】:
我正在使用 google vision API,它可以像这样返回图片的配色方案:
API 本身返回值以根据 RGB 值计算准确的颜色,并计算图像中有多少包含该颜色(以 % 为单位)。
我正在尝试创建类似于第一张图片中的内容。但我不知道如何做到这一点,到目前为止,我只有一个列表视图,它提供了如下所示的概述。
有谁知道如何在我自己指定所有颜色的 android 中创建水平配色方案?即使是水平列表视图也可以使用每种颜色的动态宽度来反映百分比。
谢谢!
【问题讨论】:
标签:
android
listview
colors
color-scheme
【解决方案1】:
您可以使用LinearLayout 并动态添加子视图,weight 等于颜色的百分比:
// sample colors
final int color1 = Color.parseColor("#8da921");
final int color2 = Color.parseColor("#1f0929");
final int color3 = Color.parseColor("#f0b991");
// sample color percentages
final int colorPercentage1 = 60;
final int colorPercentage2= 10;
final int colorPercentage3 = 30;
// you should have this layout defined in your xml
final LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
linearLayout.setWeightSum(100);
// create the views
final View view1 = new View(this);
final LinearLayout.LayoutParams viewParams1 = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT);
viewParams1.weight = colorPercentage1;
view1.setLayoutParams(viewParams1);
view1.setBackgroundColor(color1);
final View view2 = new View(this);
final LinearLayout.LayoutParams viewParams2 = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT);
viewParams2.weight = colorPercentage2;
view2.setLayoutParams(viewParams2);
view2.setBackgroundColor(color2);
final View view3 = new View(this);
final LinearLayout.LayoutParams viewParams3 = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT);
viewParams3.weight = colorPercentage3;
view3.setLayoutParams(viewParams3);
view3.setBackgroundColor(color3);
//finally add the views
linearLayout.addView(view1);
linearLayout.addView(view2);
linearLayout.addView(view3);
【解决方案2】:
如何在android中制作水平配色方案
在具有水平方向的 LinearLayout 内简单地膨胀具有不同权重的视图。