web-dev-qa-db-ja.com

PercentRelativeLayout、プログラムで高さを設定する方法

AndroidパーセントサポートパッケージのPercentRelativeLayoutを使用しています。これが私のレイアウトにあります。

<Android.support.percent.PercentRelativeLayout
    Android:id="@+id/view_parent"
    app:layout_heightPercent="68%" Android:visibility="invisible"
    Android:layout_width="match_parent"
    Android:background="@color/mountain_meadow" Android:layout_alignParentTop="true"
    Android:layout_height="wrap_content">


    <View Android:id="@+id/view_child" Android:layout_width="match_parent" app:layout_heightPercent="30%"
        Android:layout_alignParentBottom="true"
        />

</Android.support.percent.PercentRelativeLayout>

プログラムでview_childの高さを変更したい。 PercentRelativeLayout.LayoutParamsまたはその他の方法を使用して、どうすればよいですか。

29
g.revolution

新しいパーセント値を設定しますか?はいの場合、次のことを行う必要があります。

View view = findViewById(R.id.view_child);
PercentRelativeLayout.LayoutParams params = (PercentRelativeLayout.LayoutParams) view.getLayoutParams();
// This will currently return null, if it was not constructed from XML.
PercentLayoutHelper.PercentLayoutInfo info = params.getPercentLayoutInfo();
info.heightPercent = 0.60f;
view.requestLayout();
67
gruszczy