안녕하세요. 아래 코드에서 내가 수행 한 작업을 간략하게 설명합니다. ViewStub (Vs)를 만들고 RelativeLayout (R1)에 추가합니다. 그런 다음 동일한 RL에 새 Vs를 추가하여 stub2를 만들고 rl에 추가합니다. 그러면 첫 번째와 두 번째 Vs (rlInf1, rlInf2)의 R1 (이는 inflatet입니다.) 그리고 나서 rlInf2가 rlInf1 아래에 있어야하지만 겹치지 않도록 Rl.Layoutparams를 설정합니다. 새 ViewStub가 이전 ViewPub의 아래에 있도록 LayoutParams를 어떻게 설정할 수 있습니까? 어떤 아이디어?첫 번째 아래에 두 번째 ViewStub를 추가하는 것보다 먼저 ViewStub를 RelativeLayout에 추가하십시오.
ViewStub
가 없어 당신은
ViewStub
로보기를 팽창되면
(나는 XML에 ViewStub을 추가 할 수 있지만 자바 코드에서하지 않았다)
//Löschen des Standard-Tv
TextView tv = (TextView) findViewById(R.id.tvNoContentInfo);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.Layout_ContentInfo);
rl.removeView(tv);
//Erstellen eines ViewStubs
ViewStub stub1 = new ViewStub(this);
//zum richtigen Layout hinzufügen
rl.addView(stub1);
stub1.setLayoutResource(R.layout.routen_navi_infocontent);
//Referenz zum eingefügten Layout herstellen
View inflated = stub1.inflate();
//Zugriff auf Inhalt des zufor referenzierten Layouts
TextView myTextView = (TextView) inflated.findViewById(R.id.tvHeaderInfocontent);
myTextView.setText("hey");
stub1.setId(View.generateViewId());
stub1.setInflatedId(stub1.getId());
RelativeLayout rlInf1 = (RelativeLayout) inflated.findViewById(R.id.Layout_infocontent);
ViewStub stub2 = new ViewStub(this);
//zum richtigen Layout hinzufügen
rl.addView(stub2);
stub2.setLayoutResource(R.layout.routen_navi_infocontent);
//Referenz zum eingefügten Layout herstellen
View inflated2 = stub2.inflate();
RelativeLayout rlInf2 = (RelativeLayout) inflated2.findViewById(R.id.Layout_infocontent);
RelativeLayout.LayoutParams p= new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.BELOW,rlInf1.getId());
rlInf2.setLayoutParams(p);
당신을 위해 그'ViewStub's 무엇을해야합니까 사용하지 않고 레이아웃을 추가 할 수 있습니까? – pskink
난 그냥 테스트 해보고 ... 나는 역동적 인면을 원한다.> 어쩌면 처음 2V가 필요하고 두 번째로 3 번 필요하다. 그리고 내가 원하는 실제 프로그래밍을 시작하기 전에 내가 Vs를 다른 위치보다 아래에 위치시킬 수 있는지 테스트하십시오. @pskink – Goetti
BTW'LinearLayout'는 충분하지 않습니까? 대신'RecyclerView'를 쓰지 않는 이유는 무엇입니까? – pskink