我有一个我在运行时定义的自定义视图。我不希望它填满屏幕,我希望它在一个用XML定义的更大的布局中。
这是我想用伪代码做的事情:
View newView = new MyCustomView();
View.replace(newView , R.id.old_view);
有什么想法吗?
由于
答案 0 :(得分:0)
我建议在上面的评论中使用ViewStub,但我认为这可能有点矫枉过正。你可以试试这个:
package com.example.viewstub;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
public class ViewStubTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView old_textview = (TextView )this.findViewById(R.id.textView1);
old_textview.setVisibility(View.INVISIBLE);
TextView tv = new TextView(this.getApplicationContext());
tv.setText("new Text!!!");
LinearLayout ll = (LinearLayout)this.findViewById(R.id.linearLayout_1);
ll.addView(tv);
}
}
它只是引用顶层布局,添加新组件并删除旧组件。我认为应该这样做。
CASP