android 设置button的不可见,android - 将style =“?android:attr / buttonBarStyle”设置为父布局,将style =“?android:attr...

博主在动态添加一个包含三个按钮的布局到另一个布局时遇到问题,虽然按钮不可见但仍然可点击。经过测试,在一个新的项目中直接使用该布局是有效的,暗示问题可能出在动态添加的过程中。代码片段显示了如何使用LayoutInflater将布局插入到另一个垂直布局中,但没有提供足够的信息来确定具体原因。
摘要由CSDN通过智能技术生成

我按照Android推荐,将style="?android:attr/buttonBarStyle"设置为父布局,并将style="?android:attr/buttonBarButtonStyle"为按钮。

所以现在我的布局是这样的:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal"

style="?android:attr/buttonBarStyle">

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button 1"

style="?android:attr/buttonBarButtonStyle"/>

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button 2"

style="?android:attr/buttonBarButtonStyle"/>

android:id="@+id/button3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button 3"

style="?android:attr/buttonBarButtonStyle"/>

但是在设置了样式后,这些按钮变得不可见,但我仍然可以点击它们。

请告诉我有什么问题。

编辑:其他详细信息

好吧,我刚刚创建了一个专门用于测试这种布局的新项目,令人惊讶的是它确实有效。

所以更准确地说,实际上,我动态地将这个布局添加到另一个布局,如下所示:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/buttons_panel_container"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

码:

LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

LinearLayout buttonsPanelContainer = (LinearLayout) findViewById(R.id.buttons_panel_container);

View buttonPanelView = null;

if(chosenValueType.equals("some_type")) {

buttonPanelView = layoutInflater.inflate(R.layout.some_buttons_panel, null);

Button Button1 = (Button) buttonPanelView.findViewById(R.id.button1);

Button1.setOnClickListener(this);

Button Button2 = (Button) buttonPanelView.findViewById(R.id.button2);

Button2.setOnClickListener(this);

} else if (chosenRawValueType.equals("another_type") {

//...

ViewGroup insertPoint = (ViewGroup) buttonsPanelContainer;

insertPoint.addView(buttonPanelView, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));

很抱歉没有提到它,我不认为可能是这种情况。

那有什么不对?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值