안드로이드를 위한 사용자 정의 BaseActivity
응용 프로그램을 개발할 때 우리의 디자인은 사실 전체적인 양식이 통일된 것이다. 그러면 우리는 공용 코드를 쓸 수 있다. 이렇게 하면 프로그램에 있어 뒤의 유지보수에 편리하고 쓸데없는 말도 많이 하지 않는다. 여러분도 틀림없이 아실 것이다. 오늘 제가 여러분에게 공유한 것은 바로 자신만의 BaseActivity를 맞춤형으로 제작하는 것이다. 이 BaseActivity는 주로 공용 코드를 봉인했다.예를 들어 우리가 개발하는 과정에서 위의 제목과 단추가 반드시 있어야 하기 때문에 우리는 이 BaseActivity에 공용된 것을 모두 쓸 수 있다. 다른 기능의Activity는 이후에 이BaseActivity를 계승할 수 있다.
선상 효과도
효과도를 보았는데, 여러분은 깨우침을 주었거나 이해를 하셨나요?이제 BaseActivity의 핵심 코드를 넣겠습니다.
/**
* Activity
*
* @author coder
*
*/
public class BaseActivity extends Activity {
private View titleView;
private TextView tv_title;
private Button btn_left, btn_right;
private LinearLayout ly_content;
//
private View contentView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.common_title);
titleView = findViewById(R.id.titleView);
tv_title = (TextView) titleView.findViewById(R.id.tv_title);
btn_left = (Button) titleView.findViewById(R.id.btn_left);
btn_right = (Button) titleView.findViewById(R.id.btn_right);
ly_content = (LinearLayout) findViewById(R.id.ly_content);
}
/***
*
*
* @param resId
* ID
*/
public void setContentLayout(int resId) {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
contentView = inflater.inflate(resId, null);
LayoutParams layoutParams = new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT);
contentView.setLayoutParams(layoutParams);
contentView.setBackgroundDrawable(null);
if (null != ly_content) {
ly_content.addView(contentView);
}
}
/***
*
*
* @param view
* View
*/
public void setContentLayout(View view) {
if (null != ly_content) {
ly_content.addView(view);
}
}
/**
* View
*
* @return
*/
public View getLyContentView() {
return contentView;
}
/**
*
*
* @return
*/
public Button getbtn_left() {
return btn_left;
}
/**
*
*
* @return
*/
public Button getbtn_right() {
return btn_right;
}
/**
*
*
* @param title
*/
public void setTitle(String title) {
if (null != tv_title) {
tv_title.setText(title);
}
}
/**
*
*
* @param resId
*/
public void setTitle(int resId) {
tv_title.setText(getString(resId));
}
/**
*
*
* @param resId
*/
public void setbtn_leftRes(int resId) {
if (null != btn_left) {
btn_left.setBackgroundResource(resId);
}
}
/**
*
*
* @param bm
*/
public void setbtn_leftRes(Drawable drawable) {
if (null != btn_left) {
btn_left.setBackgroundDrawable(drawable);
}
}
/**
*
*
* @param resId
*/
public void setbtn_rightRes(int resId) {
if (null != btn_right) {
btn_right.setBackgroundResource(resId);
}
}
/**
*
*
* @param drawable
*/
public void setbtn_rightRes(Drawable drawable) {
if (null != btn_right) {
btn_right.setBackgroundDrawable(drawable);
}
}
/**
*
*/
public void hideTitleView() {
if (null != titleView) {
titleView.setVisibility(View.GONE);
}
}
/**
*
*/
public void hidebtn_left() {
if (null != btn_left) {
btn_left.setVisibility(View.GONE);
}
}
/***
*
*/
public void hidebtn_right() {
if (null != btn_right) {
btn_right.setVisibility(View.GONE);
}
}
public BaseActivity() {
}
}
다음은 그 중의 한 가지 용법을 제시하면 된다.
public class TwoBtnActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentLayout(R.layout.two);
//
setTitle(" ");
//
getbtn_left().setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
}
}
자, 큰일 났습니다. 이 만능 BaseActivity는 정말 유용하지 않습니까? 이런 작은 공유 하나가 여러분께 도움이 되었으면 좋겠습니다.
인용을 옮겨 싣으려면 출처를 밝혀 주십시오.http://blog.csdn.net/jiahui524
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.