我正在使用的应用程序左侧是一个带有精密计时器的标题栏,另一个是以RelativeLayout为中心的textview。
RelativeLayout取textview的高度并填充屏幕宽度
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/titlecontainer"
android:orientation="vertical"
android:padding="5dip"
android:layout_height="wrap_content"
android:layout_width="fill_parent" android:background="@color/titlebckgrnd">
我希望在用户点击时隐藏色度计,并再次取消隐藏用户点击。
如何实现这一目标?
编辑,进一步回答和评论:
这是颜色文件代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="titlebckgrnd">#FFD55A2E</color>
<color name="titletext">#FFFFFFFF</color>
</resources>
我使用了以下代码
final TextView chron = (TextView)findViewById(R.id.chronometer);
((Chronometer) chron).start();
chron.setOnClickListener(new OnClickListener() {
private boolean mToggle = true;
@Override
public void onClick(View v) {
Log.d("Gaurav", "Invisible");
if(mToggle) {
Log.d("Gaurav", String.valueOf(chron.getCurrentTextColor()));
chron.setTextColor(R.color.titlebckgrnd);
mToggle = false;
}
else {
chron.setTextColor(R.color.titletext);
mToogle = true;
}
//chronImage.setVisibility(View.VISIBLE);
//v.setVisibility(View.INVISIBLE);
}
});
但结果是
并且它不会再响应任何点击次数。
LogCat结果
即使调试器断点显示Textcolor值发生变化,但显示中的颜色变化也不会发生。
答案 0 :(得分:1)
如果我理解你的问题,你可以这样做来隐藏天文台:
// We are in your Activity:
final View chronometer= findViewById(R.id.chronometer);
chronometer.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
chronometer.setVisibility(View.GONE);
// Use View.INVISIBLE if you would like to keep the room for this view
}
});
但不会再显示任何视图了。因此,根据用户应该单击以再次显示它的位置,您可能必须为视图和/或其文本提供与背景相同的颜色,而不是让它们不可见:
// should chronometer be a TextView that displays the time:
final TextView chronometer = (TextView) findViewById(R.id.chronometer);
chronometer.setOnClickListener(new View.OnClickListener() {
private boolean mToggle = true;
public void onClick(View v) {
if (mToggle ) {
chronometer.setTextColor(Color.BLACK);
mToggle = false;
}
else {
chronometer.setTextColor(Color.WHITE);
mToggle = true;
}
}
});