PercentLayoutInfo is always returning null Android

56 Views Asked by At

I have tried the following code to implement 'width' (in percentage) to the TextView. But I am always getting null for the PercentLayoutInfo. Please help.

PercentRelativeLayout.LayoutParams lp = (PercentRelativeLayout.LayoutParams) textView.getLayoutParams();

        // This will currently return null, if it was not constructed from XML.
PercentLayoutHelper.PercentLayoutInfo info = lp.getPercentLayoutInfo();

info.widthPercent = .5f;
textView.requestLayout();

Here is my XML file:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/content_tile_main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="false"
    android:duplicateParentState="true"
    android:focusable="false">

    <ImageView
        android:id="@+id/main_background"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop" />

    <android.support.percent.PercentRelativeLayout
        android:id="@+id/percent_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
       >

        <TextView
            android:id="@+id/title_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:text="Title: " />
    </android.support.percent.PercentRelativeLayout>


</RelativeLayout>
1

There are 1 best solutions below

0
On

I have fixed the issue by adding percentage related attribute to the TextView in XML as follows. As per my understanding, we have to provide percent related attribute in XML, then only we will be able to apply PercentLayoutInfo programatically for that view.

 <TextView
            android:id="@+id/title_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            app:layout_widthPercent="50%"
            android:text="Title: " />

Now I am getting not null value for PercentLayoutInfo .