Я знаю, что поздно ответить, но тем не менее это может вам помочь!
Вам просто нужно установить размер текста на одном устройстве и запустить его, проверить, подходит ли он идеально. Скажем, это устройство xxxhdpi, и вы задали размер текста до 34sp. Вы можете использовать нижеприведенный код, чтобы получить размеры текста для других устройств, которые будут hdpi, xhdpi, xxhdpi.
import java.util.Scanner;
public class MyClass {
public static void main(String args[]) {
int resolutionSpValue = 0,whichRes = 1,resolution = 0;
int hdpi = 4, xhdpi = 6, xxhdpi = 8, xxxhdpi = 12;
Scanner sc = new Scanner(System.in);
System.out.println("Enter sp value : ");
resolutionSpValue = sc.nextInt();
System.out.println("\n"+resolutionSpValue+"sp in which resolution : ");
System.out.println("1. HDPI\n2. XHDPI\n3. XXHDPI\n4. XXXHDPI");
whichRes = sc.nextInt();
switch(whichRes){
case 1:
resolution = hdpi;
break;
case 2:
resolution = xhdpi;
break;
case 3:
resolution = xxhdpi;
break;
case 4:
resolution = xxxhdpi;
break;
}
getFinalValue(resolutionSpValue,resolution);
}
private static void getFinalValue(int resolutionSpValue,int whichResolution){
final int hdpi = 4, xhdpi = 6, xxhdpi = 8, xxxhdpi = 12;
int hd = 0, xhd = 0, xxhd = 0, xxxhd = 0,val = (resolutionSpValue/whichResolution);
switch(whichResolution){
case hdpi:
xhd = xhdpi*val;
xxhd = xxhdpi*val;
xxxhd = xxxhdpi*val;
System.out.println("\n\nHDPI : "+resolutionSpValue+"sp\nXHDPI : "+xhd+"sp\nXXHDPI : "+xxhd+"sp\nXXXHDPI : "+xxxhd+"sp");
break;
case xhdpi:
hd = hdpi*val;
xxhd = xxhdpi*val;
xxxhd = xxxhdpi*val;
System.out.println("\n\nHDPI : "+hd+"sp\nXHDPI : "+resolutionSpValue+"sp\nXXHDPI : "+xxhd+"sp\nXXXHDPI : "+xxxhd+"sp");
break;
case xxhdpi:
hd = hdpi*val;
xhd = xhdpi*val;
xxxhd = xxxhdpi*val;
System.out.println("\n\nHDPI : "+hd+"sp\nXHDPI : "+xhd+"sp\nXXHDPI : "+resolutionSpValue+"sp\nXXXHDPI : "+xxxhd+"sp");
break;
case xxxhdpi:
hd = hdpi*val;
xhd = xhdpi*val;
xxhd = xxhdpi*val;
System.out.println("\n\nHDPI : "+hd+"sp\nXHDPI : "+xhd+"sp\nXXHDPI : "+xxhd+"sp\nXXXHDPI : "+resolutionSpValue+"sp");
break;
}
}
}
Долгосрочная Firebase будет иметь более продвинутые запросы, поэтому, надеюсь, она будет поддерживать такую вещь напрямую, без необходимости делать что-то особенное. До тех пор у вас есть несколько вариантов:
До тех пор, пока Firebase не будет иметь более продвинутые запросы, # 1, вероятно, лучше всего, если вы захотите запустить небольшой сервер код. : -)
Текущий метод Google для полнотекстового поиска, похоже, синхронизируется с Algolia или BigQuery с облачными функциями для Firebase .
Здесь представлен пример интеграции в полнотекстовый поиск Algolia Firebase и их пример интеграции BigQuery , который может быть расширен для поддержки полного поиска.