我使用透明主题进行透明活动:
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
我希望当这个活动出现然后用户点击它,它就完成了 主要的xml文件代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:onClick="hide">
</RelativeLayout>
和主要活动的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
public void hide(){
finish();
}
但当然不起作用。
答案 0 :(得分:2)
您的功能缺少param
。它应该是
public void hide(View v){ // notice the parameter it takes for the onClick
finish();
}
中陈述的第三项要求
您在android:onClick属性中声明的方法必须具有完全如上所示的签名。具体来说,该方法必须:
公开
返回无效
将视图定义为唯一参数(这将是单击的视图)