xml 레이아웃 이 없 는 activity
안 드 로 이 드 학 을 접 한 지 얼마 되 지 않 아 스스로 연 구 를 시 작 했 습 니 다.activity 는 항상 xml 의 레이아웃 파일 이 대응 해 야 한 다 는 것 을 알 고 있 습 니 다.그러나 이 xml 이 없 으 면 자바 로 코드 에서 간단하게 이 루어 집 니 다.즉,이 레이아웃 을 담당 하 는 xml 는 지금 제 가 그 를 쓰 지 않 습 니 다.자바 가 직접 생 성 을 도와 주 는 것 입 니 다.어떤 친구 들 은 필요 하 냐 고 물 을 것 입 니 다.자바 류 만 써 서 xml 레이아웃 과 같은 기능 을 하지 않 습 니 다.그러나 실제로 많은 경우 에 우리 의 화면 이 완전히 변 하지 않 는 다.만약 에 하나의 view 에서 대량의 변화 가 발생 하면 원래 의 xml 도 닭 갈비 가 된다.그리고 우리 가 쓴 activity 하 나 를 JAR 가방 으로 봉 하려 고 하면 남 은 xml 이 군더더기 가 될 수 있 습 니 다.이 문 제 를 해결 하기 위해 서 스스로 약간의 테스트 를 했다.효과 가 이 문 제 를 간단하게 해결 할 수 있 을 것 같 아서 보 내 드 리 니 참고 하 시기 바 랍 니 다.
activity 에서 재 작성 한 onCreate 방법 에서 레이아웃 파일 을 setContentView(R.layot.XXXX)에 지정 해 야 합 니 다.지금 우 리 는 이 지정 한 xml 를 포기 합 니 다.
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class IndexActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
newView view = newView.buildView(IndexActivity.this);
// xml ,
setContentView(view);
Resources res = getResources();
//
Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.back_1);
BitmapDrawable bmp1 = new BitmapDrawable(bmp);
view.imageView.setImageDrawable(bmp1);
}
// LinearLayout , ,
static class newView extends LinearLayout {
private ImageView imageView;
public newView(Context c) {
super(c);
/*
ImageView , TextView EditText Button
addView() , ,
xml 。
*/
imageView = new ImageView(c);
/*
, , ,
android api ,
TextView mTitle = new TextView(c);
//
mTitle.setText(title);
//
mTitle.setGravity(Gravity.CENTER);
//
mTitle.setTextColor(Color.WHITE);
*/
/*
addView , ,
addView(mTitle, new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT,Gravity.CENTER_HORIZONTAL));
*/
addView(imageView);
/*
LinearLayout ,
,
:setBackgroundResource(imgId);
setPadding(0, 8, 0, 8);
*/
}
public static newView buildView(Context c) {
return new newView(c);
}
}
}
xml 레이아웃 파일 이 없 는 activity 가 생 성 됩 니 다.부족 하 게 쓴 점 양해 부탁드립니다.만약 잘못 이 있 으 면 모두 가 제기 하 는 것 을 도와 주세요.나 무 는 여기 서 여러분 께 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.