xml 레이아웃 이 없 는 activity

3204 단어 androidActivity

안 드 로 이 드 학 을 접 한 지 얼마 되 지 않 아 스스로 연 구 를 시 작 했 습 니 다.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 가 생 성 됩 니 다.부족 하 게 쓴 점 양해 부탁드립니다.만약 잘못 이 있 으 면 모두 가 제기 하 는 것 을 도와 주세요.나 무 는 여기 서 여러분 께 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기