首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将当前值转换为总值的图形表示

将当前值转换为总值的图形表示
EN

Stack Overflow用户
提问于 2019-12-13 21:18:16
回答 1查看 18关注 0票数 0

假设我的总值是2000,而我的当前值是180。我想把它图形化地呈现如下:

我怎么能这么做呢?我正在寻找许多图表,但我在任何地方都没有找到这样的解决方案。有没有开放源码提供这种图形化的值表示?

EN

回答 1

Stack Overflow用户

发布于 2019-12-13 22:54:52

您可以使用TableLayout来实现这一点。您的布局将如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
   android:id="@+id/tableLayout"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >
</TableLayout>

然后,在您的代码中,您可以像这样填充表:

代码语言:javascript
复制
public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         int  totalValue = 2000;
         int currentValue = 180;
        int rowsNumber = 10;
        int columnsNumber = 10;

        TableLayout tableLayout = (TableLayout) findViewById(R.id.tableLayout);

        for (int i = 0; i < rowsNumber ; i++) {

            TableRow tableRow = new TableRow(this);
            tableRow.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
                    LayoutParams.WRAP_CONTENT));

            tableRow.setBackgroundResource(R.drawable.yourRowDrawable);

            for (int j = 0; j < columnsNumber; j++) {
                ImageView imageView = new ImageView(this);

                imageView.setImageResource(this.getCellDrawableId(i,j,totalValue ,currentValue ));

                tableRow.addView(imageView, j);
            }

            tableLayout.addView(tableRow, i);
        }
    }
}

private int getCellDrawableId(int i, int j,int totalValue ,int currentValue ){
      if(/*some logic here*/)
           return R.drawable.greenCell;
       return R.drawable.emptyGrayCell;
}

P.S.:其中R.drawable.greenCell,R.drawable.emptyGrayCell,R.drawable.yourRowDrawable是适当的可绘制来表示你的网格。

另外,我没有测试这段代码,只是像代码片段一样写在这里,所以这里可能会出现一些错误

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59323398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档