소스 검색

Create custom Preference ui for truncate automatically the upload folder path in the middle when it is too long

jabarros 10 년 전
부모
커밋
87b242019c
2개의 변경된 파일51개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      res/xml/preferences.xml
  2. 50 0
      src/com/owncloud/android/ui/PreferenceWithLongSummary.java

+ 1 - 1
res/xml/preferences.xml

@@ -32,7 +32,7 @@
 	</PreferenceCategory>
 	</PreferenceCategory>
 
 
     <PreferenceCategory android:title="@string/prefs_category_instant_uploading">
     <PreferenceCategory android:title="@string/prefs_category_instant_uploading">
-        <Preference android:title="@string/prefs_instant_upload_path_title" android:key="instant_upload_path" />
+        <com.owncloud.android.ui.PreferenceWithLongSummary android:title="@string/prefs_instant_upload_path_title" android:key="instant_upload_path" />
 	    <com.owncloud.android.ui.CheckBoxPreferenceWithLongTitle android:key="instant_uploading"
 	    <com.owncloud.android.ui.CheckBoxPreferenceWithLongTitle android:key="instant_uploading"
 	                        android:title="@string/prefs_instant_upload"
 	                        android:title="@string/prefs_instant_upload"
 	                        android:summary="@string/prefs_instant_upload_summary"/>
 	                        android:summary="@string/prefs_instant_upload_summary"/>

+ 50 - 0
src/com/owncloud/android/ui/PreferenceWithLongSummary.java

@@ -0,0 +1,50 @@
+/* ownCloud Android client application
+ *   Copyright (C) 2014 ownCloud Inc.
+ *
+ *   This program is free software: you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License version 2,
+ *   as published by the Free Software Foundation.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package com.owncloud.android.ui;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.view.View;
+import android.webkit.WebSettings.TextSize;
+import android.widget.TextView;
+import android.preference.CheckBoxPreference;
+import android.preference.Preference;
+
+public class PreferenceWithLongSummary extends Preference{
+
+    public PreferenceWithLongSummary(Context context) {
+        super(context);
+    }
+
+    public PreferenceWithLongSummary(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+    public PreferenceWithLongSummary(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+    }
+
+    @Override
+    protected void onBindView(View view) {
+        super.onBindView(view);
+        TextView titleView = (TextView) view.findViewById(android.R.id.summary);
+        titleView.setSingleLine(true);
+        titleView.setMaxLines(1);
+        titleView.setEllipsize(TextUtils.TruncateAt.MIDDLE);
+    }
+}