Add the capability to set a pinned header to SettingsPreferenceFragment
- add a FrameLayout into the preference list fragment - add public void setPinnedHeaderView(View pinnedHeader) and clearPinnedHeaderView() APIs for adding and clearing the pinned header Change-Id: I50ba5dd150167e0d49cc54bee1203f46db6d7a66
This commit is contained in:
@@ -20,10 +20,15 @@
|
|||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:id="@+id/container_material"
|
android:id="@+id/container_material"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
android:background="@android:color/transparent">
|
android:background="@android:color/transparent">
|
||||||
|
|
||||||
|
<FrameLayout android:id="@+id/pinned_header"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
<ListView android:id="@android:id/list"
|
<ListView android:id="@android:id/list"
|
||||||
style="@style/PreferenceFragmentListSinglePane"
|
style="@style/PreferenceFragmentListSinglePane"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -59,6 +64,7 @@
|
|||||||
android:layout_alignParentStart="true"
|
android:layout_alignParentStart="true"
|
||||||
android:text="@*android:string/back_button_label"
|
android:text="@*android:string/back_button_label"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -79,6 +85,7 @@
|
|||||||
android:layout_margin="5dip"
|
android:layout_margin="5dip"
|
||||||
android:text="@*android:string/next_button_label"
|
android:text="@*android:string/next_button_label"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
@@ -33,10 +33,12 @@ import android.preference.PreferenceFragment;
|
|||||||
import android.preference.PreferenceGroupAdapter;
|
import android.preference.PreferenceGroupAdapter;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.ListAdapter;
|
import android.widget.ListAdapter;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
@@ -77,6 +79,8 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private ViewGroup mPinnedHeaderFrameLayout;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
@@ -92,6 +96,24 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
|
Bundle savedInstanceState) {
|
||||||
|
final View root = super.onCreateView(inflater, container, savedInstanceState);
|
||||||
|
mPinnedHeaderFrameLayout = (ViewGroup) root.findViewById(R.id.pinned_header);
|
||||||
|
return root;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPinnedHeaderView(View pinnedHeader) {
|
||||||
|
mPinnedHeaderFrameLayout.addView(pinnedHeader);
|
||||||
|
mPinnedHeaderFrameLayout.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clearPinnedHeaderView() {
|
||||||
|
mPinnedHeaderFrameLayout.removeAllViews();
|
||||||
|
mPinnedHeaderFrameLayout.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSaveInstanceState(Bundle outState) {
|
public void onSaveInstanceState(Bundle outState) {
|
||||||
super.onSaveInstanceState(outState);
|
super.onSaveInstanceState(outState);
|
||||||
|
@@ -42,10 +42,8 @@ import android.provider.MediaStore;
|
|||||||
import android.provider.ContactsContract.DisplayPhoto;
|
import android.provider.ContactsContract.DisplayPhoto;
|
||||||
import android.support.v4.content.FileProvider;
|
import android.support.v4.content.FileProvider;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
@@ -97,7 +95,7 @@ public class RestrictedProfileSettings extends AppRestrictionsFragment {
|
|||||||
if (mHeaderView == null) {
|
if (mHeaderView == null) {
|
||||||
mHeaderView = LayoutInflater.from(getActivity()).inflate(
|
mHeaderView = LayoutInflater.from(getActivity()).inflate(
|
||||||
R.layout.user_info_header, null);
|
R.layout.user_info_header, null);
|
||||||
((ViewGroup) getListView().getParent()).addView(mHeaderView, 0);
|
setPinnedHeaderView(mHeaderView);
|
||||||
mHeaderView.setOnClickListener(this);
|
mHeaderView.setOnClickListener(this);
|
||||||
mUserIconView = (ImageView) mHeaderView.findViewById(android.R.id.icon);
|
mUserIconView = (ImageView) mHeaderView.findViewById(android.R.id.icon);
|
||||||
mUserNameView = (TextView) mHeaderView.findViewById(android.R.id.title);
|
mUserNameView = (TextView) mHeaderView.findViewById(android.R.id.title);
|
||||||
|
Reference in New Issue
Block a user