我想知道是否有任何方法可以使每个屏幕上的文本视图可见,这样我就不必在每个活动中单独创建一个文本视图。
我想这样做,以便可以在每个屏幕上显示我的应用程序版本以进行调试。
谢谢。
答案 0 :(得分:2)
是的!有可能。
看到您必须添加此代码。
<include layout="@layout/layout_version"/>
和
public class MainActivity extends BaseActivity {
}
,您将找到版本文本。
只需添加一些代码。
(1)创建一个表示版本文本的布局。
layout_version.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" // or match_parent (according to your need)
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
... other properties
/>
<!--... other component if required-->
</LinearLayout>
(2)将此添加到您的活动布局中,例如 activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
...>
<include layout="@layout/layout_version"/>
</LinearLayout>
(3)创建一个 BaseActivity.class 或添加我的代码(如果已有的话)。
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import com.innovanathinklabs.sample.BuildConfig;
import com.innovanathinklabs.sample.R;
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tvVersion = findViewById(R.id.tvVersion);
if (tvVersion != null) tvVersion.setText(BuildConfig.VERSION_NAME);
}
}
(4)最后一步是将所有活动扩展
BaseActivity.class
。
public class MainActivity extends BaseActivity {
}
仅此而已!