0
をスケール:私のフラグメントのクラスでAndroidは、私はいくつかのボタンを含むで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の外でボタンをクリックして上のメニューをスケーリングが、私はしようとすると、その中のボタンをクリックすると、動作しません。開始時にビューを拡大しないと、それは機能します。
@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");
}
});
}
私はこれらの2行をコメントする場合具体的には、それが動作します(私は私のフラグメントのクラスではなく、XMLでのonclickを設定):
menuView.setScaleX(0.1f);
menuView.setScaleY(0.1f);
私は、これはヒットとは何かを持っていると思います私は正確に何かを見つけることができません。私はAndroidデベロッパーにとってかなり新しいので、回避策は出ていません。ありがとう!
ここでこれを使用しますか?アクティビティまたはフラグメントクラスでは? – Skoua
あなたはフラグメントクラスに入れておくべきです。あなたのものを削除してください。 –
いいえ、私はそれをしましたが、何も変わっていませんでした。 onCreateView()でmenuViewを0.1fにスケールし、後で1fにスケールすると、menuView内のボタンはまだクリックを受け取りません。 – Skoua