gpt4 book ai didi

android - 将(打开/关闭)按钮添加到(打开/关闭)抽屉导航的 Activity

转载 作者:IT老高 更新时间:2023-10-28 23:17:41 28 4
gpt4 key购买 nike

我目前正在从 android 网站了解 Navigation Drawer,我正在使用他们的示例 http://developer.android.com/training/implementing-navigation/nav-drawer.html

我想要的是在 MainActivity 中添加一个能够打开 NavigationDrawer 的按钮。我需要以编程方式进行,而不是在 XML 中。我该怎么做?

最佳答案

MainActivity 中创建一个包含您的抽屉布局的方法。

public void open()
{
mDrawerLayout.openDrawer(Gravity.LEFT);
}


并从你的 fragment 在 oncreateView() 方法中,如您所愿,以编程方式在您的根膨胀布局中添加新按钮。您的 fragment 有按钮
下面我修改了 fragment 尝试

 public static class PlanetFragment extends Fragment {
public static final String ARG_PLANET_NUMBER = "planet_number";

public PlanetFragment() {
// Empty constructor required for fragment subclasses
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_planet, container, false);
int i = getArguments().getInt(ARG_PLANET_NUMBER);
String planet = getResources().getStringArray(R.array.planets_array)[i];

int imageId = getResources().getIdentifier(planet.toLowerCase(Locale.getDefault()),
"drawable", getActivity().getPackageName());
((ImageView) rootView.findViewById(R.id.image)).setImageResource(imageId);
getActivity().setTitle(planet);
RelativeLayout root=(RelativeLayout)rootView.findViewById(R.id.root);
Button button=new Button(getActivity());
LayoutParams params=new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
button.setLayoutParams(params);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
button.setText("openDrawer");
root.addView(button);

button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
((MainActivity)getActivity()).open();
}
});
return rootView;
}
}
}


您可以在 fragment 中尝试此代码..

关于android - 将(打开/关闭)按钮添加到(打开/关闭)抽屉导航的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853094/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com