| 知乎专栏 |
查找 layout 资源
// 用法 context.getResources().getIdentifier("test_layout", "layout", context.getPackageName());
int test = context.getResources().getIdentifier("test", "layout", "cn.netkiller.album ");
Log.d(TAG, test + " id ");
查找 drawable 资源
// 用法 context.getResources().getIdentifier("ic_launcher","drawable",context.getPackageName())
int identifier = context.getResources().getIdentifier("hotel1", "drawable", context.getPackageName());
Log.d(TAG, "Resource identifier: " + identifier + " ");
获取res文件夹下的color.xml文件下某个颜色字段的id
context.getResources().getIdentifier("yellow","color",context.getPackageName())
获取array.xml文件里名为“my_array”的id
context.getResources().getIdentifier("my_array","array",context.getPackageName())
获取value下style.xml文件下的某个样式的id
context.getResources().getIdentifier("dialog_style","style",context.getPackageName())
选择一个带有ActionBar的主题,例如 Theme.MaterialComponents.DayNight.DarkActionBar
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.WebRTC" parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>
如果需要返回按钮,请使用带有 Bridge 的主题,例如 parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge"
public class AboutActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
// 获取ActionBar
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setTitle("关于"); // 设置ActionBar的标题
actionBar.setSubtitle("请详细阅读"); // 副标题
actionBar.setDisplayHomeAsUpEnabled(true); // 设置返回按钮
}
}
// 监听返回按钮,如果点击返回按钮则关闭当前Activity
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == android.R.id.home) {
this.finish();
return true;
}
return super.onOptionsItemSelected(item);
}
}