레이아웃 (예 : 색상) 만 변경하는 기존 활동을 확장 할 수 있습니까?레이아웃을 변경하는 활동 확장
나는 공유 라이브러리를 사용하고 있기 때문에 다른 사람들이 사용하고 있으므로 활동을 수정하면 안된다.
레이아웃 (예 : 색상) 만 변경하는 기존 활동을 확장 할 수 있습니까?레이아웃을 변경하는 활동 확장
나는 공유 라이브러리를 사용하고 있기 때문에 다른 사람들이 사용하고 있으므로 활동을 수정하면 안된다.
새 활동을 매니페스트에 넣은 다음 의도 확인이 자녀 클래스로 이동해야합니다. 당신은 단지 활동을 연장 할 수있을뿐만 아니라 이것을 고치지 않고도 호출 할 수있을 것입니다 (적어도 그렇게 생각하지는 않습니다).
자바 또는 xml로 배경색을 설정할 수도 있습니다.
예 가능합니다. 단어는 extends
입니다.
두 개의 활동이있는 경우 활동 1과 두 번째 활동 2. U 예 당신이 그것을 확장 및 방법에서 onCreate 무시하고 당신이 레이아웃의 변경 될 수 있습니다 사용자 정의 레이아웃에 의해 그것에 된 setContentView 메소드를 호출 할 수 Activity2 extends Activity1
그런 다음 유 Activity1.
의 속성을 사용할 수 있습니다 사용할 수 있습니다.
원본 클래스 onCreate()에 코드를 저장하여 부모 클래스가 변경된 경우에도 광산이 변경됩니다. (유일한 차이점은 그래픽이됩니다.) – Mark
예 그것은 다음과 같이 수행 할 수 있습니다 :
귀하의 일반적인 활동
이public class BaseActivity extends Activity {
..
..
}
특정 활동
public class YourActivity extends BaseActivity {
..
@Override
public void onCreate(Bundle savedInstanceState) {
//call the base class constructor FIRST
super.onCreate(savedInstanceState);
setContentView(R.layout.new_layout); //then change the layout
}
}
예 여기, 당신의 활동을 확장 할 수있는 데모입니다 :
package com.test.intentdemo;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.RelativeLayout;
public class intentDemo extends Activity {
public static final String TAG="MyActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RelativeLayout lLayout = (RelativeLayout) findViewById(R.layout.the_id);
lLayout.setBackgroundColor(Color.parseColor("#000000"));
}
}
if (Log.isLoggable(TAG,0))
{
Log.e(TAG,"ERROR BEFORE");
Log.i(TAG,"INFO BEFORE");
Log.d(TAG,"DEBUG BEFORE");
lLayout.setBackgroundColor(Color.parseColor("#000000"));
//SystemClock.sleep(2000);
try
{
Thread.currentThread();
Thread.sleep(2000);
}
catch (Exception e)
{
//e.message();
}
Log.e(TAG,"ERROR AFTER");
Log.i(TAG,"INFO AFTER");
Log.d(TAG,"DEBUG AFTER");
}
}
}
희망이 도움 :)
배경색을 변경하고 자바 코드에 의한 버튼. 하지만 정말 레이아웃을 변경하려면 (장식 추가, 버튼/기능 추가, 중력 ecc 변경) Java 코드로 모든 것을해야하거나 원래의 모든 코드를 잃지 않고 다른 XML을 사용할 수있는 가능성이 있습니다 건설자? 어쨌든, 도와 줘서 고마워. – Mark
두 가지 XML 파일을 상속받을 수 있다고 나는 믿지 않는다. 그러나 XML에서 스타일을 작성한 다음 Java의 한 줄을 통해 해당 스타일을 적용 할 수 있다는 점을 권장합니다. 그렇게하면 lib의 XML을 수정하지 않고 XML로 특성을 선언 할 수 있습니다. –