我爲我的項目添加了自定義首選項(代碼如下)。我把它添加到我的喜好XML使用自定義widgetLayout:自定義首選項不可點擊
<w.PlusOnePreference
android:title="Rate App"
android:key="custom"
android:widgetLayout="@layout/plusone_pref"/>
偏好佈局的xml:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.gms.plus.PlusOneButton
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus"
android:id="@+id/plus_one_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:focusable="false"
plus:size="standard" />
我看到的佈局,並在佈局按鈕正常工作。唯一的問題是,偏好不可點擊。就像它隱藏在某物後面一樣。
有關如何使其可點擊的任何想法?
如果我添加一個常規首選項(沒有小部件佈局),它工作正常。
謝謝。
public class PlusOnePreference extends Preference {
private PlusClient mPlusClient = null;
public PlusOnePreference(Context context) {
super(context);
}
public PlusOnePreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public PlusOnePreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void setPlusClient(PlusClient plusClient) {
mPlusClient = plusClient;
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
//mPlusOneButton =
PlusOneButton plusOneButton = (PlusOneButton)view.findViewById(R.id.plus_one_button);
plusOneButton.initialize(mPlusClient, SettingsActivity.URL, SettingsActivity.PLUS_ONE_REQUEST_CODE);
}
}
我想你的代碼貝科使用我正在嘗試爲我的動態壁紙添加一個加號按鈕,但它表示我的首選項不是textview。我只是複製你的代碼來嘗試它。你有沒有機會舉出一個你可以分享給那些試圖做同樣事情的工作例子?謝謝。 –
Preference類應該用新的google play服務更新,但佈局是一樣的。可能會用你的代碼啓動另一個問題,首選項不應該是TextView ...... – Ran
沒錯。這是我的觀點。我的代碼和上面的代碼完全一樣。 Verbatim –