自定义BaseActivity

之前在网上看到一个一种方法:

复制代码
public class BaseActivity extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        requestWindowFeature(Window.FEATURE_NO_TITLE);  
        setContentView(R.layout.base);  
    }  
  
    public void baseSetContentView(int layoutResId) {  
        LinearLayout llContent = (LinearLayout) findViewById(R.id.content);  
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
        View v = inflater.inflate(layoutResId, null);  
        llContent.addView(v);  
    }  
  
}  
复制代码

经过测试,用这种方法加进去的view都是wrap_content的

需要改成inflate.inflate(layoutResId,llContent);

 

复制代码
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        setTheme(R.style.MyTheme);//注意这一句的位置
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.activity_basechart);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
        
    }
    public void baseSetContentView(int layoutResId) {  
        LinearLayout llContent = (LinearLayout) findViewById(R.id.baseContent);  
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
        inflater.inflate(layoutResId, llContent);  
    } 
复制代码

 

activity_basechart.xml

复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="#FFFFFF">
     <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_margin="2dp"
            android:orientation="vertical"
            android:layout_weight="1"
            android:padding="2dp"
            android:background="@drawable/border">
           <com.github.mikephil.charting.charts.LineChart
            android:id="@+id/chart"
            android:background="@color/tp"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
       </RelativeLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:id="@+id/baseContent"
        android:layout_weight="1">
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="vertical"
        android:layout_weight="1">
        <android.support.v4.view.ViewPager
            android:id="@+id/baseVallery"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </android.support.v4.view.ViewPager>
    </LinearLayout>
</LinearLayout>
复制代码

新建Activity继承自上面的BaseActivity

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        baseSetContentView(R.layout.activity_monitor);
    }

 

 

 

posted @   Maydow  阅读(274)  评论(0编辑  收藏  举报
编辑推荐:
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
阅读排行:
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?
点击右上角即可分享
微信分享提示