我目前正在開發Android應用程序。禁用默認佈局中的相關按鈕
我的應用程序中的所有活動都具有相同的基本佈局,該佈局在「default_layout.xml」文件中定義。在每一個活動的佈局文件,我用:
<include layout="@layout/default_layout" android:id="@+id/include"/>
包括佈局。
我想要做的是禁用默認佈局中的按鈕(使其不可點擊並將其更改爲可視化表示的alpha值),這與當前打開的活動相關,以防止用戶打開另一個同樣的活動。例如,我想在創建設置活動時禁用「設置」按鈕。
我可以在onCreate方法中通過代碼訪問的按鈕,像這樣:
findViewById(R.id.saveButton).setEnabled(false);
findViewById(R.id.saveButton).setClickable(false);
findViewById(R.id.saveButton).setFocusable(false);
findViewById(R.id.saveButton).setAlpha(0.5f);
沒有任何錯誤,但是這些方法都沒有按鈕的實際工作。
下面是我的default_layout.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button android:layout_width="90dp"
android:layout_height="40dp"
android:text="@string/button_open"
android:duplicateParentState="true"
android:id="@+id/openButton"
android:textSize="16sp" android:background="#0A7D1F"
android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:textColor="#fff"/>
<Button android:layout_width="90dp"
android:layout_height="40dp"
android:text="@string/button_save"
android:id="@+id/saveButton"
android:textSize="16sp"
android:enabled="false"
android:background="#0A7D1F"
android:layout_alignParentTop="true" android:layout_toEndOf="@+id/openButton" android:textColor="#fff"
android:focusable="false" android:focusableInTouchMode="false" android:longClickable="false"
android:nestedScrollingEnabled="false"/>
<Button android:layout_width="90dp"
android:layout_height="40dp"
android:text="@string/button_send"
android:id="@+id/sendButton"
android:textSize="16sp"
android:background="#0A7D1F"
android:textColor="#fff"
android:layout_alignParentTop="true" android:layout_alignStart="@+id/fu3Button"/>
<Button android:layout_width="145dp"
android:layout_height="40dp"
android:text="@string/button_connect"
android:id="@+id/connectButton"
android:textSize="16sp"
android:background="#0A7D1F"
android:textColor="#fff" android:layout_alignParentTop="true" android:layout_toEndOf="@+id/sendButton"/>
<Button android:layout_width="90dp"
android:layout_height="40dp"
android:text="@string/button_fu1"
android:id="@+id/fu1Button"
android:textSize="16sp"
android:layout_alignTop="@+id/fu2Button" android:layout_alignStart="@+id/openButton"
android:background="#0A7D1F" android:textColor="#fff"/>
<Button android:layout_width="90dp"
android:layout_height="40dp"
android:text="@string/button_fu2"
android:id="@+id/fu2Button" android:textSize="16sp"
android:layout_alignParentBottom="true" android:layout_toStartOf="@+id/fu3Button"
android:background="#0A7D1F" android:textColor="#fff"/>
<Button android:layout_width="90dp"
android:layout_height="40dp"
android:text="@string/button_fu3"
android:id="@+id/fu3Button" android:textSize="16sp"
android:layout_alignTop="@+id/fu2Button" android:layout_toEndOf="@+id/saveButton"
android:background="#0A7D1F" android:textColor="#fff"/>
<Button android:layout_width="125dp"
android:layout_height="40dp"
android:text="@string/button_settings"
android:id="@+id/settingsButton" android:textSize="16sp"
android:layout_alignBottom="@+id/fu3Button" android:layout_alignStart="@+id/connectButton"
android:background="#0A7D1F" android:textColor="#fff"
android:onClick="openSettings" android:layout_alignParentEnd="true"/>
任何和所有的建議將不勝感激,謝謝。
你能顯示default_layout.xml –