gpt4 book ai didi

Android 图像按钮点击在某些手机上不起作用(Moto g2、Galaxy s2)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:17 24 4
gpt4 key购买 nike

在我的 Android 应用程序中,我使用一些图像按钮在 ViewFlipper 中滚动。

我的代码适用于除某些手机中的 1 以外的所有 fragment (不适用于 Motorola Moto g2 - Android 4.4.4Samsung Galaxy s2 - Android 4.4。 4 但它在 Galaxy S3 - Android 4.4.4Asus Zenfone 5LG L2 和模拟器上运行良好) .

fragment 代码如下:

    <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:background="@drawable/exercise_g_background"
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="com.sfcodingteam.psykeappautostima.slidingmenu.fragments.exercise.ExerciseG">

<ImageButton
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:background="@drawable/buttons_exercise_g"
android:contentDescription="@string/Forward"
android:src="@drawable/ic_go_next" />

<ImageButton
android:id="@+id/btnPrevious"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@drawable/buttons_exercise_g"
android:contentDescription="@string/Back"
android:src="@drawable/ic_go_previous" />

<ImageButton
android:id="@+id/btnAudio"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/btnNext"
android:layout_centerHorizontal="true"
android:background="@drawable/buttons_exercise_g"
android:contentDescription="@string/Audio" />

<ViewFlipper
android:id="@+id/viewFlipper"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<TextView
android:id="@+id/textViewTitleG00"
style="@style/TitleStyle"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="@string/G" />

<TextView
android:id="@+id/textViewG00"
style="@style/TextStyleFirstSentence"
android:layout_alignParentEnd="false"
android:layout_alignParentRight="true"
android:layout_below="@+id/textViewTitleG00"
android:layout_marginTop="25dp"
android:text="@string/ExerciseG00" />

<Button
android:id="@+id/btnStart"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_below="@+id/textViewG00"
android:layout_centerHorizontal="true"
android:layout_marginTop="80dp"
android:background="@drawable/buttons_exercise_g"
android:text="@string/btnStart"
android:textColor="@android:color/white"
android:textStyle="bold" />
</RelativeLayout>
</ScrollView>
</ViewFlipper>
</RelativeLayout>

( fragment 内容较多,这里是其中的一部分)

这是所有图像按钮的初始化:

protected void initializeBtnNext() {
btnNext = (ImageButton) view.findViewById(R.id.btnNext);
if (btnNext == null)
return;
btnNext.setVisibility(View.INVISIBLE);
btnNext.setEnabled(false);
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (viewFlipper.getDisplayedChild() + 1 < viewFlipper.getChildCount())
goNext();
else getActivity().onBackPressed();
}
});
}

protected void initializeBtnAudio() {
btnAudio = (ImageButton) view.findViewById(R.id.btnAudio);
if (btnAudio == null)
return;
btnAudio.setImageResource(R.drawable.ic_play);
btnAudio.setEnabled(false);
btnAudio.setVisibility(View.INVISIBLE);
btnAudio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickBtnAudio();
}
});
}

protected void initializeBtnPrevious() {
btnPrevious = (ImageButton) view.findViewById(R.id.btnPrevious);
if (btnPrevious == null)
return;
btnPrevious.setVisibility(View.INVISIBLE);
btnPrevious.setEnabled(false);
btnPrevious.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
goPrevious();
}
});
}

protected void initializeBtnStart() {
btnStart = (Button) view.findViewById(R.id.btnStart);
if (btnStart == null)
return;
btnStart.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
goNext();
}
});
}

所有 fragment 的初始化都是相同的(所有 fragment 都有 btnNext、btnPrevious、btnAudio 和 btnStart)。

只有 btnStart 可以正常工作,其他的则不能。

你有什么建议吗?

编辑:发现问题所在,viewFlipper 在我试图触及的按钮上。

所以,我只需要添加

android:layout_above="@+id/btnNext"

在 viewFlipper 中,我准备好了!谢谢大家!

最佳答案

刚刚更新了您的 ImageButton XML

<ImageButton
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:background="@drawable/buttons_exercise_g"
android:contentDescription="@string/Forward"
android:src="@drawable/ic_go_next"
android:clickable="true"/>

在你的 Java 中。

// Set this oncreate method 

ImageButton btn=(ImageButton)findViewById(R.id.btnNext);
btn.setOnClickListener(this);


// Then implement this
@Override
public void onClick(View v) {
// TODO Auto-generated method stub

switch (v.getId()) {
case R.id.btnNext :
//Show Toast
break;

default :
break;
}

}

关于Android 图像按钮点击在某些手机上不起作用(Moto g2、Galaxy s2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27617843/

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