我在裏面有一個LinearLayout
和一些Views
。查看忽略佈局的形狀
的LinearLayout
有以下背景抽拉:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape
android:shape="rectangle">
<solid android:color="#25000000" />
<corners android:radius="5dp"/>
</shape>
</item>
<item android:right="1dp" android:left="1dp" android:bottom="2dp">
<shape
android:shape="rectangle">
<solid android:color="@android:color/white"/>
<corners android:radius="5dp"/>
</shape>
</item>
所以我的佈局有一定的圓角。
現在我喜歡在我的LinearLayout中設置我的視圖的背景顏色,這裏是問題: 背景不在形狀內......它忽略了我的LinearLayout中的拐角半徑。視圖應該堅持與LinearLayout具有相同的大小。不應該有什麼「超過」這種佈局。
我該如何管理?我不希望同樣的背景抽拉(相同的形狀)適用於我查看......我想這不是我應該做這樣的方式......
乾杯
佈局:
<TableLayout
android:id="@+id/table_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="*">
</TableLayout>
我編程添加視圖(它們屬於片段):
FragmentTransaction transaction = getChildFragmentManager()
.beginTransaction();
for (int i = 0; i < answers.size(); i++) {
TableRow row = tableRows.get(i % tableRows.size());
AnswerFragment fragment = answers.get(i).getViewFragment();
answerFragments.add(fragment);
transaction.add(row.getId(), fragment);
}
transaction.commit();
,其中,通過創建tableRows:
int rows = (int) Math.ceil(Math.sqrt(answers.size())); // n x n
for (int i = 0; i < rows; i++) {
TableRow row = new TableRow(getActivity());
row.setId(1337 + i);
row.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.MATCH_PARENT, 1.0f));
row.setGravity(Gravity.CENTER);
tableRows.add(row);
tableLayout.addView(row);
}
發佈您的佈局代碼。 – zanky