我想用 linearlayout 做同样的效果,就像你调用 showDialog 时一样。禁用线性布局的所有组件很容易,但是如何更改颜色?
是否可以在布局上投下一些阴影?
谢谢你的答案。
我想用 linearlayout 做同样的效果,就像你调用 showDialog 时一样。禁用线性布局的所有组件很容易,但是如何更改颜色?
是否可以在布局上投下一些阴影?
谢谢你的答案。
感谢 Asok 的建议,我发现了这个:
它对我来说是正确的。
我如何将Clickable设置为所有孩子的方式:
TraverseChildren(GetChildren(_llRest), false);
在哪里
private void TraverseChildren(ArrayList<View> childrenList, boolean b) {
for (View view : childrenList) {
view.setClickable(b);
view.setEnabled(b);
if (view instanceof ViewGroup)
TraverseChildren(GetChildren((ViewGroup)view), b);
}
}
private ArrayList<View> GetChildren(ViewGroup view) {
ArrayList<View> children = new ArrayList<View>();
for (int i = 0; i < view.getChildCount(); i++)
if (view.getChildAt(i) != null)
children.add(view.getChildAt(i));
return children;
}
我不认为我理解你想要做什么。如果您只想更改布局的颜色,您可以在 XML 声明中使用android:background
属性或以编程方式使用该方法setBackground
或setBackgroundResource
在您的布局对象上进行。如果您想让要显示的活动看起来有点像对话框(具有半透明背景等),最简单的方法是像往常一样将所有内容保留在该布局上,并将主题应用于显现:
<activity android:theme="@android:style/Theme.Dialog">
您可以setAlpha
对父级应用透明度到所有视图子级。
这是我在创建视图以覆盖我的主要布局时采用的方法的示例:
RelativeLayout mainRelativeLayout = (RelativeLayout)findViewById(R.id.mainlayout);
mainRelativeLayout.setAlpha((float).45);
My mainRelativeLayout
,在这种情况下,包含许多ImageViews
并且TextViews
都继承了透明度。这给了我阴影的效果。
setAlpaha
该类View
的仅支持 API 11+ 或平台版本/Android OS Ver 3.0+