我创建了一个片段,其中包含一个包含几个按钮的FrameLayout:
<FrameLayout android:id="@+id/menu_view"
android:layout_width="490dp"
android:layout_height="490dp"
android:layout_gravity="bottom|end"
android:layout_marginRight="-200dp"
android:layout_marginEnd="-200dp"
android:layout_marginBottom="-200dp"
android:background="@drawable/menu_view_bg">
<Button android:id="@+id/menu_btn1"
android:layout_width="76dp"
android:layout_height="76dp"
android:paddingTop="15dp"
android:paddingBottom="10dp"
android:layout_marginLeft="185dp"
android:layout_marginStart="185dp"
android:layout_marginTop="107dp"
android:background="@drawable/menu_btn_bg"
android:drawableTop="@drawable/menu_item0"
android:textColor="@color/colorPrimaryDark"
android:textAllCaps="false"
android:text="@string/menu1"/>
<Button android:id="@+id/menu_btn2"
android:layout_width="76dp"
android:layout_height="76dp"
android:paddingTop="15dp"
android:paddingBottom="10dp"
android:layout_marginLeft="200dp"
android:layout_marginStart="200dp"
android:layout_marginTop="15dp"
android:background="@drawable/menu_btn_bg"
android:drawableTop="@drawable/menu_item1"
android:textColor="@color/colorPrimaryDark"
android:textAllCaps="false"
android:text="@string/menu2"/>
...
</FrameLayout>
在我的片段类中,我在FrameLayout外部的Button上单击缩放菜单,但是当我尝试单击其中的按钮时,它不会工作。如果我不在开始时缩放视图,则可以正常工作。
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
FrameLayout menuView = (FrameLayout) getView().findViewById(R.id.menu_view);
menuView.setScaleX(0.1f);
menuView.setScaleY(0.1f);
Button btn = (Button) getView().findViewById(R.id.menu_main_btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toggleMenu();
}
});
Button hotelBtn = (Button) getView().findViewById(R.id.menu_btn2);
hotelBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("fef", "onClick: dodkoz");
}
});
}
具体来说,如果我评论这两行,它会起作用(我在我的片段类中设置onclick,而不是在XML中):
menuView.setScaleX(0.1f);
menuView.setScaleY(0.1f);
我想这与命中区域有关,但我无法找到确切的结果。我是Android开发人员的新手,所以我还没有找到解决方法。谢谢!
答案 0 :(得分:0)
你可以用它。
git mergetool