我很难让LayoutInflater按预期工作,其他人也是如此:如何使用layoutinflator在运行时添加视图?.
为什么LayoutInflater会忽略我指定的布局参数?例如,为什么我的资源XML中的值layout_width和layout_height值不受尊重?
我在布局 xml 文件中有一个布局。我有固定宽度 110dp。在布局内,我有一个固定宽度 100dp 的 TextView。
当我使用 LayoutInflater 膨胀视图并将其添加到 LinearLayout 中时,TextView 及其父 RelativeLayout 会忽略设置的宽度并拉伸到文本的大小。我希望文本以指定的宽度换行,并根据需要采用尽可能多的高度。
我试图在膨胀后强制视图的宽度(将 dps 转换为 pxs),但仍然没有。
有什么建议?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="110dp"
android:layout_height="match_parent"
android:padding="1dp" >
<RelativeLayout
android:layout_centerInParent="true"
android:id="@+id/info_layout"
android:layout_width="108dp"
android:layout_height="match_parent"
android:layout_marginLeft="2dp"
android:background="@drawable/rounded_corners_grey_3">
<ImageView
android:contentDescription="@string/image"
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"/>
<ImageView
android:contentDescription="@string/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/image_overlay"
android:layout_centerInParent="true"/>
<LinearLayout
android:id="@+id/detailsLayout"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="left"
android:layout_margin="3dp"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
>
<TextView
android:id="@+id/name"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="12sp"
android:gravity="center"
android:layout_weight="1"
android:ellipsize="none"
android:maxLines="100"
android:scrollHorizontally="false"
/>
<TextView
android:id="@+id/details"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:textColor="@color/bethere_green"
android:textSize="12sp"
android:layout_weight="1" …Run Code Online (Sandbox Code Playgroud)