-2

我尝试了以下代码来实现 TextView 的“宽度”(百分比)。但是对于 PercentLayoutInfo,我总是为空。请帮忙。

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();

这是我的 XML 文件:

<?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>
4

1 回答 1

0

我已通过在 XML 中向 TextView 添加百分比相关属性来解决此问题,如下所示。根据我的理解,我们必须在 XML 中提供百分比相关属性,然后我们才能以编程方式为该视图应用 PercentLayoutInfo。

 <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: " />

现在我得到的 PercentLayoutInfo 不是空值。

于 2018-05-07T16:19:49.577 回答