単純。ブール値を使用します。画面幅が400dpより小さい場合、デフォルトで分割アクションバーが表示されます。したがって、valuesフォルダーに次のように配置できます。
/values/bools.xml:
<resources>
<bool name="split_action_bar">true</bool>
</resources>
そしてあなたのvalues-sw400dpにあなたは以下を入れます。
/values-sw400dp/bools.xml:
<resources>
<bool name="split_action_bar">false</bool>
</resources>
これで、その値に基づいてアイコンを設定できます。
boolean isActionBarSplitted = getResources().getBoolean(R.bool.split_action_bar);
if(isActionBarSplitted){
// set light icon
}
else{
// set dark icon
}
編集:
実際に私が書いたことを忘れてください。それをチェックするために独自のブール値を作成する必要はありません。すでに宣言されているものが1つあります(これは、ActionBarが受話器デバイスかタブレットかを判断するために使用するものです)。android.R.bool.split_action_bar_is_narrow
Android HC +をターゲットにしている場合、ActionBarSherlock:を使用している場合は
、デフォルトのActionBars値:にアクセスできます
R.bool.abs_split_action_bar_is_narrow
。デフォルトのActionBar 、ここではABSがここにあります。