3

是否可以扩展现有活动,仅更改其布局(例如颜色)?

因为我使用的是共享库,所以我不应该修改活动,因为其他人正在使用它。

4

5 回答 5

2

您必须将该新 Activity 放入清单中,然后确保将意图解析转到您的子类。您不仅能够扩展活动并在不修复此问题的情况下调用它(至少我不这么认为)。

您也可以只在 java 或 xml 中设置背景颜色。

于 2012-06-11T13:46:58.477 回答
1

是的。有可能,只要用这个词 extends

如果你有 2 个活动 Activity1 和 2nd Activity2。你可以使用Activity2 extends Activity1 然后你可以使用的属性Activity1.

于 2012-06-11T13:45:28.793 回答
1

是的,您可以扩展它,并通过覆盖 onCreate 方法并通过您的自定义布局在其中调用 setContentView 方法,您将更改它的布局。

于 2012-06-11T13:46:09.803 回答
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
     }
}
于 2012-06-11T13:48:47.830 回答
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"); 
            } 
        } 
    } 

希望这可以帮助 :)

于 2012-06-11T13:55:04.660 回答