知乎专栏 |
查找 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); } }