gpt4 book ai didi

android - 在android中自定义表格布局

转载 作者:行者123 更新时间:2023-11-30 05:03:53 25 4
gpt4 key购买 nike

我得到的布局

enter image description here

public class MainActivity extends AppCompatActivity {

TableLayout tableLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tableLayout = findViewById(R.id.tableLayout);

try{

JSONObject jsonObject = new JSONObject(loadJson());
JSONObject jsonObject1 = jsonObject.getJSONObject("data");
JSONArray jsonArray = jsonObject1.getJSONArray("application_step");

JSONArray sections = jsonArray.getJSONObject(0).getJSONArray("section");
for(int i = 0;i<sections.length();i++)
{
TableRow tr = new TableRow(this);
JSONArray fields = sections.getJSONObject(i).getJSONArray("fields");
for(int j = 0;j<fields.length();j++)
{
Button button = new Button(this);
button.setText("Button"+j);
tr.addView(button);
}
tr.setFitsSystemWindows(true);
//tr.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT, TableLayout.LayoutParams.FILL_PARENT));
tableLayout.addView(tr);
}

}
catch (Exception e){

Log.d("ErrorTest ",e.getMessage());
}

}

public String loadJson(){

String json=null;

try{
InputStream io = MainActivity.this.getAssets().open("BaseUrlJson.json");
int size = io.available();
byte buffer[] = new byte[size];
io.read(buffer);
io.close();
json = new String(buffer,"UTF-8");
}
catch (Exception e){
Log.d("Error: ",e.getMessage());
return null;
}

return json;
}
}

上面的代码从 JSON 配置文件中获取布局。

我希望通过在较短的行中扩展单元格(按列)来使所有行的长度相同。

我正在动态生成它。

最佳答案

我认为你应该从这里检查这个自适应布局。

https://github.com/Cleveroad/AdaptiveTableLayout

关于android - 在android中自定义表格布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54922431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com