mDocView与cramperView重叠,就像它在另一个上面一样。我想在topHeader下面使用mDocView。
我的cramper.xml -
<ViewSwitcher
android:id="@+id/switcher"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" >
<Button
android:id="@+id/backfromreport"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@drawable/btn_black_xml"
android:padding="10dp"
android:text="Back"
android:clickable="true"
android:onClick="goBack"
android:textColor="#ffffff"
android:textSize="16dp" />
<TextView
android:id="@+id/messager"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_weight="1"
android:gravity="center"
android:text="Messager"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" />
</LinearLayout>
</ViewSwitcher>
相关的Cramper Java文件:
private View cramperView;
private LinearLayout topHeader;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
topHeader = (LinearLayout) findViewById(R.id.linearLayout1);
private ReaderView mDocView = new ReaderView(this); //ReaderView extends AdapterView
cramperView= getLayoutInflater().inflate(R.layout.cramper,null);
RelativeLayout layout = new RelativeLayout(this);
layout.addView(cramperView);
layout.addView(mDocView);
setContentView(layout);
答案 0 :(得分:0)
为视图添加布局参数
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.FILL_PARENT);
rlp.addRule(RelativeLayout.BELOW, R.id.linearLayout1);
mDocView.setLayoutParams(rlp);
layout.addView(cramperView);
layout.addView(mDocView);
setContentView(layout);
答案 1 :(得分:0)
正如您所说ViewSwicher
位于RelativeLayout
内,并且您在layout.addView(mDocView)
之后使用layout.addView(cramperView)
,因此它将始终添加ReaderView
(扩展AdapterView)在 cramper 布局之后。
解决方案是:
在{x}文件中RelativeLayout
之后添加</ViewSwitcher>
。像这样:
<RelativeLayout
android:id="@+id/docViewLayout"
android:layout_width="1190dp"
android:layout_height="1284dp"
android:layout_below="@+id/switcher"
android:layout_centerHorizontal="true" >
</RelativeLayout>
在此RelativeLayout
中,您可以调整宽度和高度,使其适合您的布局。
下一步是在ReaderView
中添加RelativeLayout
,当您动态生成时,应将其添加到onCreate()
。
RelativeLayout layout = new RelativeLayout(this);
RelativeLayout docViewLayout = (RelativeLayout) mButtonsView.findViewById(R.id.docViewLayout);
docViewLayout.addView(mDocView);
layout.addView(cramperView);
setContentView(layout);
希望这有帮助。