ように私はプログラムでビューを作成し、そのPercentRelativeLayout.LayoutParams
を設定するには、次のコードを使用したのと同じことをしています:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_percent_relative);
ViewGroup root = (ViewGroup)findViewById(R.id.perecent_layout_view);
View blueWidget = new View(this);
blueWidget.setBackground(blue);
root.addView(blueWidget);
setUpLayout(blueWidget, 2.0f/8.0f, 6.0f/8.0f, 6.0f/8.0f, 0.0f, 2.0f/8.0f, 0.0f);
View redWidget = new View(this);
redWidget.setBackground(red);
root.addView(redWidget);
setUpLayout(redWidget, 5.0f/8.0f, 2.0f/8.0f, 3.0f/8.0f, 0.0f, 0.0f, 6.0f/8.0f);
}
private void setUpLayout(View view, float widthPercent,
float heightPercent,
float leftMarginPercent,
float rightMarginPercent,
float topMarginPercent,
float bottomMarginPercent) {
PercentRelativeLayout.LayoutParams layoutParams = new PercentRelativeLayout.LayoutParams(view.getLayoutParams());
PercentLayoutHelper.PercentLayoutInfo percentLayoutInfo = layoutParams.getPercentLayoutInfo();
percentLayoutInfo.heightPercent = heightPercent;
percentLayoutInfo.widthPercent = widthPercent;
percentLayoutInfo.topMarginPercent= topMarginPercent;
percentLayoutInfo.bottomMarginPercent= bottomMarginPercent;
percentLayoutInfo.leftMarginPercent= leftMarginPercent;
percentLayoutInfo.rightMarginPercent= rightMarginPercent;
view.setLayoutParams(layoutParams);
}
ビューは次のようになります。
PercentRelativeLayoutを見ましたか? – ditkin
これは有望そうです!私は何かを構成して、再びコメントしようとします! **編集:** JavaでPercentRelativeLayoutの子のパーセンテージを設定しようとしましたが、見た目の良い例があります([example](http://stackoverflow.com/questions/32497833/how-to-set-子どものビューのパーセンテージの高さ - 幅 - パーセンテージのout-of-r))、子ビューがXMLを使用して定義されている場合、パーセンテージはjavaでのみ解決できます。 Launcherウィジェットと同じように、オブジェクトを動的に作成し、配置する必要があります。 ありがとうございます! –