我正在创建一个工具栏,用于在单击工具栏上的按钮时切换按钮的可见性。所以,如果用户点击“绘图”按钮,“绘图”按钮上方将出现不可见的按钮“铅笔”和“笔”,如果再次点击“绘图”按钮,“铅笔”和“笔”将成为再次可见。Android中的按钮可见性问题
在我的xml文件我已经设置了一些按钮的公开程度是“看不见”的,所以当我启动,他们将无法看到活动。这部分是直线前进。
btnDrawLine的.xml文件 - (更新@ 12:21)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent" >
<com.odhranlynch.testSection.UserInterface
android:id="@+id/UserInterface"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true" />
<Button
android:id="@+id/btnDraw"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="Draw" />
<Button
android:id="@+id/btnDrawLine"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_above="@+id/btnDraw"
android:layout_alignParentLeft="true"
android:visibility="visible"
android:text="Line" />
<Button
android:id="@+id/btnDrawCurve"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_above="@+id/btnDrawLine"
android:layout_alignParentLeft="true"
android:visibility="visible"
android:text="Curve" />
<Button
android:id="@+id/btnCutout"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/btnDraw"
android:text="Cutout" />
<Button
android:id="@+id/btnCutInner"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_above="@+id/btnDraw"
android:layout_toRightOf="@+id/btnDraw"
android:visibility="visible"
android:text="Inner" />
<Button
android:id="@+id/btnCutOutter"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnDrawCurve"
android:layout_alignBottom="@+id/btnDrawCurve"
android:layout_toLeftOf="@+id/btnCancel"
android:visibility="visible"
android:text="Outter" />
<Button
android:id="@+id/btnCancel"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/btnFinish"
android:text="Cancel" />
<Button
android:id="@+id/btnFinish"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Finish" />
</RelativeLayout>
接下来,当用户点击一个按钮,是可见的,我会就像看不见的按钮一样。
这是事情,他们不会再出现!大声笑我很困惑它。
,我会很感激,如果有人将是一种足以使光棚到这对我来说:)
testActivity.java
package com.odhranlynch.testSection;
import com.odhranlynch.testSection.R;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
public class testActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_product);
// Find buttons and give them a name.
final View btnDraw = findViewById(R.id.btnDraw);
final View btnCutOut = findViewById(R.id.btnCutout);
final View btnDrawLine = findViewById(R.id.btnDrawLine);
final View btnDrawCurve = findViewById(R.id.btnDrawCurve);
final View btnCutInner = findViewById(R.id.btnCutInner);
final View btnCutOutter = findViewById(R.id.btnCutOutter);
//Draw Button clicked (UI Toolbar).
btnDraw.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//Treat button as a toggle button
//So if a sub-button (e.g. Draw Line) is visible, then we know the button has
//been toggled to visible so lets now make it invisible.
if (btnDrawLine.getVisibility()== View.VISIBLE) {
//Its visible.
btnDrawLine.setVisibility(View.INVISIBLE);
btnDrawCurve.setVisibility(View.INVISIBLE);
Log.d("TAG", "INVISIBLE");
} else {
// Either gone or invisible
btnDrawLine.setVisibility(View.VISIBLE);
btnDrawCurve.setVisibility(View.VISIBLE);
Log.d("TAG", "VISIBLE");
}
}
});
}
}
作为进一步的提点,如果我将按钮的可见性设置为在.xml文件中可见我可以在运行时切换可见性!
同样,我将不胜感激一些帮助:)
是否按预期打印日志消息?每个按钮时钟上的可见,可靠,可见...等。 – 2012-02-07 12:04:37
是的,所以我知道切换按钮的作用。 – Odhran 2012-02-07 12:05:59
嗯,你有没有尝试用View.GONE替换btnDrawCurve.setVisibility(View.INVISIBLE)?只是大声思考。 – 2012-02-07 12:14:11