Android Layout Inflater 원리 분석, 한 걸음 한 걸음 View (1) - 거인 의 어깨 위 에 서서 총 결 학습
2126 단어 inflater
자세 한 내용 은 곽 림 대신 블 로그 를 보십시오http://blog.csdn.net/guolin_blog/article/details/12921889
1. Layout Inflater 의 기본 용법
//
:LayoutInflater layoutInflater = LayoutInflater.from(context);
//
:layoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// inflater() :( )
1, id R.layout.textview_layout(tv )
2, , null
수요: mainLayout (메 인 레이아웃) 에 tv 를 추가 하 는 방법layout?
public class MainActivity extends Activity {
private LinearLayout mainLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainLayout = (LinearLayout) findViewById(R.id.main_layout);
LayoutInflater layoutInflater = LayoutInflater.from(this);
View buttonLayout = layoutInflater.inflate(R.layout.button_layout, null);
mainLayout.addView(buttonLayout);
}
}
, LayoutInflater , inflate()
button_layout , LinearLayout addView() LinearLayout 。
%%% 총 결,%%% layoutInflater 기술 은 동적 추가 View 에 광범 위 하 게 응용 되 고 있 습 니 다. 예 를 들 어 ScrollView 와 ListView 에서 자주 사용 되 는 장면 입 니 다.
2. 소스 코드 각도 분석 layoutInflater 작업 원리
LayoutInflater Android Pull XML , createrViewFromTag()
,( ,View ).
createView View , view
rInflater , View
3: layoutheight 와 layotwidth 의 이해
xml View , , ? ?
View , View ,
MainActivity ?
MainActivity ,FrameLayout , ,
FrameLayout id content setContentView() , FrameLayout
setContentView setView.