相关疑难解决方法(0)

为什么LayoutInflater会忽略我指定的layout_width和layout_height布局参数?

我很难让LayoutInflater按预期工作,其他人也是如此:如何使用layoutinflator在运行时添加视图?.

为什么LayoutInflater会忽略我指定的布局参数?例如,为什么我的资源XML中的值layout_widthlayout_height值不受尊重?

android android-layout

165
推荐指数
2
解决办法
10万
查看次数

Android膨胀的文本视图忽略宽度

我在布局 xml 文件中有一个布局。我有固定宽度 110dp。在布局内,我有一个固定宽度 100dp 的 TextView。

当我使用 LayoutInflater 膨胀视图并将其添加到 LinearLayout 中时,TextView 及其父 RelativeLayout 会忽略设置的宽度并拉伸到文本的大小。我希望文本以指定的宽度换行,并根据需要采用尽可能多的高度。

我试图在膨胀后强制视图的宽度(将 dps 转换为 pxs),但仍然没有。

有什么建议?

布局 XML

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

android word-wrap textview android-inflate layout-inflater

2
推荐指数
1
解决办法
1110
查看次数