我试图通过使用toggleButton隐藏/显示imageView,但它不起作用。
这是我的相关部分的代码:
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"
tools:context=".MainActivity" >
<Switch
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:textOff="auto"
android:textOn="manuel" />
<ImageView
android:id="@+id/compass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/compass" />
<ImageView
android:id="@+id/compass_direction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/compass_direction"
android:rotation="180" />
</RelativeLayout>
这里是JAVA部分:
public class SnowActivity extends MenuActivity implements SensorEventListener,
OnCheckedChangeListener, OnTouchListener, ScrollViewListener {
private Switch toggleButton;
private ImageView compass;
private ImageView compass_direction;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_snow);
toggleButton = (Switch) findViewById(R.id.toggleButton);
toggleButton.setOnCheckedChangeListener(this);
compass = (ImageView) findViewById(R.id.compass);
compass_direction = (ImageView) findViewById(R.id.compass_direction);
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
sensorEnabled = !isChecked;
if (sensorEnabled) {
compass.setVisibility(View.VISIBLE);
compass_direction.setVisibility(View.VISIBLE);
} else {
compass.setVisibility(View.INVISIBLE);
compass_direction.setVisibility(View.INVISIBLE);
}
}
}
如果我使用
手动在xml上的imageView上添加可见标记android:visibility = "visible"
它正在运作。至少图片隐藏在“图形布局”中,但编程上却没有。此外,我还有其他方法在onCheckedChange()方法中调用,因此ToggleButton似乎正确实现。
提前致谢! 问候。
答案 0 :(得分:0)
将xml布局中的工具:context属性设置为.SnowActivity而不是.MainActivity。