0
我有簡單的組件 - InfoPanel擴展LinearLayout與其他3個線性佈局裏面。這3個線性佈局中的每一個都包含2個文字瀏覽。Android自定義組件的寬度不匹配父項
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#F0F"
android:orientation="horizontal"
android:baselineAligned="false" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="@android:color/transparent"
android:gravity="left|center_vertical" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:background="@android:color/transparent"
android:gravity="right|center_vertical"
android:text="@string/info_lineM" />
<TextView
android:id="@+id/info_lineM"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:background="@android:color/transparent"
android:gravity="left|center_vertical"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="0.4"
android:gravity="center_horizontal|center_vertical"
android:background="@android:color/transparent">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:background="@android:color/transparent"
android:gravity="right|center_vertical"
android:text="@string/info_lineC" />
<TextView
android:id="@+id/info_lineC"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:background="@android:color/transparent"
android:gravity="left|center_vertical" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:gravity="right|center_vertical"
android:background="@android:color/transparent">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:background="@android:color/transparent"
android:gravity="right|center_vertical"
android:text="@string/info_lineG" />
<TextView
android:id="@+id/info_lineG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:background="@android:color/transparent"
android:gravity="left|center_vertical" />
</LinearLayout>
</LinearLayout>
此組件的Java類是非常簡單的:
public class InfoPanel extends LinearLayout{
public InfoPanel(Context ctx)
{
super(ctx);
LayoutInflater.from(ctx).inflate(R.layout.info_panel, this);
}
public InfoPanel(Context ctx, AttributeSet attr)
{
super(ctx,attr);
LayoutInflater.from(ctx).inflate(R.layout.info_panel, this);
}
@Override
public void onFinishInflate()
{
super.onFinishInflate();
}
}
主要XML在這裏我使用該組件似乎是:
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<com.project.my.components.InfoPanel
android:id="@+id/InfoPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</TableRow>
問題是,我的分量只有寬度大約是屏幕寬度的10%。現在我正在嘗試搜索一些相同的問題(我發現了很多話題,但沒有爲我工作)超過5小時..:/我想它的東西真的很小,很愚蠢,我失蹤了。感謝所有的想法。
您使用tablelayout,那麼什麼是您的第一tablerow的 – Meenal
表格佈局使用match_parent的寬度以及寬度和高度.. – piggy
,是你的第一個錶行,在表格佈局CZ,第一tablr行的屬性由所有的行定義 – Meenal