Установить процент PercentRelativeLayout в Java
Я хочу изменить процент ширины элементов внутри PercentRelativeLayout
динамически в Java на основе некоторых событий, я нашел это, но я не могу найти, где поставить проценты:
mLinerLayout.setLayoutParams(new PercentRelativeLayout.LayoutParams());
Мой XML выглядит примерно так:
<android.support.percent.PercentRelativeLayout
android:id="@+id/ad_prl_tags"
android:layout_width="match_parent"
android:layout_height="48dp">
<android.support.v7.widget.RecyclerView
android:id="@+id/ad_rv_tags"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
app:layout_widthPercent="70%" />
<!--Add Tags Button-->
<LinearLayout
android:id="@+id/ad_ll_add_tags_container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toRightOf="@id/ad_rv_tags">
<ImageView
android:id="@+id/itd_animatable_plus_iv"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<EditText
android:id="@+id/ad_et_add_tags_and_info"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</LinearLayout>
</android.support.percent.PercentRelativeLayout>
Я хочу установить процент ширины LinearLayout на 70% и ширину RecyclerView на 30% в Java.
1 ответ
Решение
Вы можете использовать это прагматично с этим методом:
public static void setWidthPercent(View view, float width) {
PercentLayoutHelper.PercentLayoutParams params =(PercentLayoutHelper.PercentLayoutParams) view.getLayoutParams();
PercentLayoutHelper.PercentLayoutInfo info = params.getPercentLayoutInfo();
info.widthPercent = width;
}