我有一个父活动(所有其他活动都会延伸) - 窗口标题中有一个“导航抽屉切换”图标。
我想在每次点击抽屉图标时更改“导航抽屉切换”图像(打开/关闭抽屉)
public class ParentActivity extends Activity {
private ImageView imgDrawer;
@Override
protected void onCreate(Bundle savedInstanceState) {
....
setContentView(R.layout.window_title);
imgDrawer = (ImageView)findViewById(R.id.imgdrawer);
...
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
R.layout.window_title);
}
...
public void openDrawer()
{
...
//Switch Image
imgDrawer.setImageDrawable(getResources().getDrawable( R.drawable.ic_close_drawer));
}
public void closeDrawer()
{
...
//Switch Image
imgDrawer.setImageDrawable(getResources().getDrawable( R.drawable.ic_open_drawer));
}
...
}
问题是,当调用openDrawer和closeDrawer时,'imgDrawer'没有改变。 这是因为'imgDrawer'图标是在窗口标题中还是别的什么?
答案 0 :(得分:1)
在为Title设置布局之前,可能setContentView
和setFeatureInt
布局相同并调用getWindow().setFeatureInt
。这样做:
@Override
protected void onCreate(Bundle savedInstanceState) {
....
setContentView(R.layout.window_title);
...
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
R.layout.window_title);
imgDrawer = (ImageView)getWindow().findViewById(R.id.imgdrawer);
}
或传递包含不同的ImageView的布局来自setContentView
布局