如何为许多图像按钮创建一个活动类

时间:2011-12-17 11:03:37

标签: android android-layout

我在Android应用程序的所有布局中都有一个页脚。 页脚将具有“帮助”,“主页”等图像按钮,此图像按钮直接链接到帮助类和家庭类。 我可以为所有页​​脚图像按钮设置一个活动类。 我试过

public class FooterItems extends Activity implements OnClickListener {

@Override
public void onClick(View view) {
    if(view.getId() == R.id.footerBtnHome)
     { 
        Intent myIntent = new Intent(view.getContext(), MainActivity.class);
        startActivityForResult(myIntent, 0);
       return;
     }

     if(view.getId() == R.id.footerBtnFeedback)
     { 
         Intent myIntent = new Intent(view.getContext(), Feedback.class);
         startActivityForResult(myIntent, 0);
       return;
     }      
   }
}

但是我没有得到如何在一个类中调用它们...例如,项目正在使用MainActivity类,我有

 ImageButton buttonFeedback = (ImageButton) findViewById(R.id.btnFeedback);
    buttonFeedback.setOnClickListener(new View.OnClickListener() {               
        public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), Feedback.class);
                startActivityForResult(myIntent, 0);
            }
    });

当我从一个图像按钮调用带有onClick的Feedback.class时...布局和相同的页脚项目出现。 我想使用通用的FooterItems类,所以我可以有一个类的页脚,并在每个其他布局中使用。 我也在xml中使用android:onClick =“onClick”for image Buttons for footer only。 但是如何调用那些通用类FooterItems并使其工作。 期待着回复。 感谢。

Footer image

3 个答案:

答案 0 :(得分:1)

我可以建议另一种变体: 我想,你可以添加到XML android:onClick,例如:

 <Button
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:text="@string/self_destruct"
     android:onClick="selfDestruct" />

当用户单击此按钮时,android程序调用方法selfDistruct。你只需要实现这个方法。 Android教程:http://developer.android.com/reference/android/widget/Button.html

答案 1 :(得分:1)

你要问的不太清楚。

您希望获得帮助,主页等图像按钮与应用程序中的所有布局相同吗?

如果单击任何图像按钮,则必须在顶部显示布局,这些按钮也必须出现在屏幕上?

如果是,我的回答可能对您有帮助。

你告诉我将创建页脚项目作为一项活动,但它并不好。在这种情况下,我更喜欢ViewFlipper。查看布局。

<LinearLayout vertical>
    <ViewFlipper id=vf>
    <include layout1 />
    <include layout2 />
    <include layout3 />
    </ViewFlipper>

    <LinearLayout horizontal>
    <ImageButton button1 />
    <ImageButton button2 />
    <ImageButton button3 />
    </LinearLayout>
</LinearLayout>

最初,您将获得 layout1和屏幕上的所有图片按钮。如果您想在单击button3时显示 layout2 ,请按以下方式编写onClickListener。

ViewFlipper vf = (ViewFlipper)findViewById(R.id.vf);

变量vf用于更改布局。

button3.setOnClickListener(new View.OnClickListener() {
    public void onClick() {
        vf.setDisplayChild(1);
    }
});

我希望它可以帮到你。再见。

答案 2 :(得分:0)

我确信您希望使用2个按钮实现页脚视图:帮助和主页,这应该是每个活动的底部。

如果您想要实施一次代码,请按照以下步骤操作:

  1. 使用2个按钮定义页脚布局,定义android:onClick =“btnHelp”用于帮助按钮,android:onClick =“btnHome”用于主页按钮。
  2. 现在,您可以使用<include>
  3. 将此布局包含在任何活动中
  4. 使用以下两种方法定义基本活动。
  5. 现在,只要您实现此页脚布局,就会扩展此基本活动。
  6. public void btnHelpClick(View v)
    {
      // do your task for Help
    }
    
    public void btnHomeClick(View v)
    {
      // do your task for Home
    }