是否可以扩展现有活动仅更改其布局(例如颜色)?
因为我正在使用共享库而且我不应该修改活动,因为其他人正在使用它。
答案 0 :(得分:2)
您必须将新的Activity放入清单中,然后确保将意图解析转到您的子类。你不仅能够扩展活动并在没有修复的情况下调用它(至少我不这么认为)。
您也可以在java或xml中设置背景颜色。
答案 1 :(得分:1)
是的。可以,只需使用extends
一词。
如果你有2项活动
活动1和第2活动2。
你可以使用Activity2 extends Activity1
然后你可以使用Activity1.
答案 2 :(得分:1)
是的,您可以扩展它,并通过覆盖onCreate方法并通过自定义布局调用setContentView方法,您将更改它的布局。
答案 3 :(得分:1)
是的,可以这样完成:
您的共同活动:
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
}
}
答案 4 :(得分:0)
是的,您可以扩展您的活动,这是一个演示:
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");
}
}
}
希望这会有所帮助:)