自定义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); }
小弟菜鸟一枚,初来乍到,有什么错误还望各位大神不吝指出,^_^。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?