实现效果
这是原来的样子:
这是点击后的样子
话不多说,上代码
布局:左边是名称,右边是按钮
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_marginHorizontal="20dp">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginHorizontal="50dp"
android:text="一段文字"
android:textColor="@android:color/black" />
<Button
android:id="@+id/control"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginHorizontal="50dp"
android:text="控制布局"
android:textColor="@android:color/white" />
</RelativeLayout>
java代码,利用flag控制,实现点击一次布局变透明,再点一次还原
int flag = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView text = (TextView) findViewById(R.id.text);
Button control = (Button) findViewById(R.id.control);
control.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (flag) {
case 0:
control.getBackground().setAlpha(60);
text.setTextColor(0x88323232);
Toast.makeText(MainActivity.this, "我透明啦", Toast.LENGTH_SHORT).show();
flag = 1;
break;
case 1:
control.getBackground().setAlpha(255);
text.setTextColor(getResources().getColor(R.color.black));
Toast.makeText(MainActivity.this, "我又变回来啦", Toast.LENGTH_SHORT).show();
flag = 0;
break;
default:
break;
}
}
});
}
代码完整,欢迎指正