小编nun*_*des的帖子

如何根据视图最大尺寸在多行TextView上自动调整文本大小?

我一直在寻找一种在textview中自动调整文本的方法.通过我的搜索,我找到了许多解决方案,如:

但和许多其他人一样,这些并不能解决我的问题.当我们使用带有多行的TextView时,它们无法按预期工作.

基本上我的目标是这个:

阶段1 阶段2 第3阶段 第4阶段

如您所见,文本根据宽度,高度调整大小,并注意换行,创建多行文本视图.也可以改变字体.

我解决这个问题的一个想法是这样的:

int size = CONSTANT_MAX_SIZE;
TextView tv = (TextView) findViewById(R.id.textview1)
while(Math.abs(tv.getMeasuredHeight()) >= TEXTVIEW_MAX_HEIGHT) {
    size--;
    tv.setTextSize(size);
    tv.measure(MeasureSpec.UNSPECIFIED,MeasureSpec.UNSPECIFIED);
    i++;
}
Run Code Online (Sandbox Code Playgroud)

CONSTANT_MAX_SIZE是一个常量,用于定义字体的最大大小(TextView中的textsize礼节)

TEXTVIEW_MAX_HEIGHT是一个常量,用于定义textview可以具有的最大大小.

每次textview中的文本发生更改时都会调用此方法.

textview xml是这样的:

<TextView
     android:id="@+id/textview1"
     android:layout_width="200dp"
     android:layout_height="wrap_content"
     android:singleLine="false"
     android:inputType="textMultiLine"
     android:text=""
     android:textSize="150sp" />
Run Code Online (Sandbox Code Playgroud)

由于宽度在XML中受到限制,因此只需要考虑视图的高度,因为调整它后android会在需要时自动创建多行.

虽然这是一个潜在的解决方案并不完美(远离它)并且它不支持调整大小(当您删除文本时).

任何sugestions和/或想法?

android word-wrap textview text-size typeface

20
推荐指数
1
解决办法
2万
查看次数

Android Studio GPU监视器不适用于OpenGLES2

如何在Android上监控我的OpenGLES2应用程序的GPU使用情况?Android Studio中的GPU监视器似乎忽略了OpenGL GPU的使用.

请注意,我在开发人员选项中启用了gpu渲染配置文件,并将其设置为在adb shell dumpsys gfxinfo中显示.

GPU监视器似乎正在运行,但看起来甚至没有使用GPU.

如何监控OpenGLES应用程序的GPU使用情况?

谢谢 !

monitoring android adb opengl-es-2.0 android-studio

15
推荐指数
0
解决办法
737
查看次数

Android:是否有可能获得其他应用通知信息?

我对Android中的辅助功能服务有疑问.
我可以在状态栏中捕获通知并从通知中获取信息吗?

我的目的是捕获Viber,Skype等应用程序的通知.

那可能吗?

android android-notifications accessibilityservice

10
推荐指数
2
解决办法
9236
查看次数

在Eclipse中添加断点会导致Dalvik崩溃

这是Eclipse的一个有趣的错误.我在用:

版本: Indigo Release
Build id: 20110615-0604

今天无处不在,我在Eclipse上的Android应用程序中设置了一个断点.当它到达代码时,debug(dalvik JVM)中止并崩溃:

试图在无准备的类中执行代码(后跟类名)

如果我没有设置断点,它将毫无问题地运行.我搜索了谷歌但到目前为止没有发现任何内容.

另一个注意事项,我设置此断点并不重要,它可能只是onClick()函数的第一行,或其他任何地方.应用程序因断点而" 暂停 " 的那一刻,它崩溃了.

eclipse android breakpoints dalvik

7
推荐指数
2
解决办法
1823
查看次数

让Android处理HTML选择像Android Spinner一样?

Android Spinner GUI组件是具有自动完成功能的典型下拉列表.
带有数据列表的HTML5选择也是如此,但不幸的是,Android中带有datalist的HTML5 不是.

当然Android直到明年才会支持datalist(他们声称).更重要的是,任何HTML选择都是平板电脑上的黑客工作.在电话上,没关系.在平板电脑上,选择不是下拉菜单,而是在屏幕底部向上滑动一个简短列表.该列表具有单选按钮和完成按钮.它是一个奇怪的小UI组件,它放入屏幕而不是显示下拉列表.有没有办法告诉Android做正确的事情?要像在桌面上的Web浏览器中那样对待它吗?

我已经使用了jQuery UI droplist,它在平板电脑上没问题,但在手机上却很糟糕.在手机上键盘出现并阻挡显示屏.有没有办法告诉Android做正确的事情?要不显示此特定html输入元素的键盘?

我可以告诉Android:

  1. 某些元素没有显示键盘?
  2. 不是那种愚蠢的iPad风格的疣,而是像常规浏览器那样做html选择,就像他们自己的droplist Spinner一样?

html5 select android android-spinner

6
推荐指数
1
解决办法
682
查看次数

Spannable Text在Dialog Fragment中不起作用

我已经添加TextView了我的Dialog片段,并在此动态显示Spannable数据TextView.但它不适用于文本的Spannable效果.

这是我的代码,用于生成Three Spannable String并添加到TextView中.

 TextView  textViewTicketSummary = (TextView) dialog.findViewById(R.id.ticketSummaryTextView);
 SpannableStringBuilder summary = new SpannableStringBuilder();
    SpannableString VehicleCaptureSpan, TotalVehicleSpan, DurationTimeSpan;

    String VehicleCapture = "Total Vehicles Captured:9";
    VehicleCaptureSpan = new SpannableString(VehicleCapture);
    VehicleCaptureSpan.setSpan(new StyleSpan(Typeface.BOLD), 0, VehicleCapture.length(), 0);
    VehicleCaptureSpan.setSpan(new ForegroundColorSpan(Color.RED), 0, VehicleCapture.length(), 0);
    VehicleCaptureSpan.setSpan(new RelativeSizeSpan(1.5f), 0, VehicleCapture.length(), 0);

    String TotalVehicle = "Total Car Park Capacity:10 ";
    TotalVehicleSpan = new SpannableString(TotalVehicle);
    TotalVehicleSpan.setSpan(new StyleSpan(Typeface.BOLD), 0, TotalVehicle.length(), 0);
    TotalVehicleSpan.setSpan(new ForegroundColorSpan(Color.RED), 0, TotalVehicle.length(), 0);
    TotalVehicleSpan.setSpan(new RelativeSizeSpan(1.5f), 0, TotalVehicle.length(), 0); …
Run Code Online (Sandbox Code Playgroud)

android textview spannablestring android-dialogfragment

6
推荐指数
1
解决办法
2730
查看次数

如何正确停止Google Cloud Datalab

使用数据是Junyper/Datalab的一个乐趣,但我不希望它变得昂贵.

Google建议:

"您可以通过停止/重新启动Cloud Datalab实例来最小化计算费用."

但是,如果我停止AppEngine实例或Compute Engine VM实例,它们只需重新启动...

那么如何正确停止/暂停Google Cloud Datalab,以便我只收取使用费用,而不是空闲时间?是否有某种触发器重启实例?

google-app-engine google-compute-engine google-cloud-datalab

5
推荐指数
1
解决办法
1541
查看次数

等待服务任务获取TaskCanceledException:任务被取消

我有一个应用程序(UWP - Win10)和Windows服务.

该服务在后台运行,它们都是用C#开发的."callAsync"是服务上的方法.我正在等待在客户端上调用它.

var obj = await callAsync(10);
Run Code Online (Sandbox Code Playgroud)

问题是: 如果此调用时间少于1分40秒(100秒),那么一切正常.但如果需要超过1分40秒,则会发生异常"TaskCanceledException:任务被取消".

我搜索了SO和网络,但仍无法找到有关如何解决此"超时"问题的任何指示.我在应用程序和服务app.config上添加了所有"打开/关闭/接收/发送"超时标志,尽管在这种情况下抛出的异常是不同的.

如果我在客户端尝试一个简单的延迟:

await Task.delay(200000); 
Run Code Online (Sandbox Code Playgroud)

它工作正常.

此服务是通过VS2015"添加服务参考"添加的.我还"连接"到服务器,服务器继续运行并在日志之前和之后在控制台中打印(以确认一切正常).

我错过了什么?什么配置以及我需要在哪里进行更改才能使任务运行超过1分40秒?

码:

服务器伪代码示例:

接口文件:

[ServiceContract(Namespace="http://.....")]
interface ICom {

   [OperationContract]
   int call(int val);

}
Run Code Online (Sandbox Code Playgroud)

Service.cs

    public ServiceHost serviceHost = null;
    public BlaBlaWindowsService()
    {
        ServiceName = "BlaBlaWindowsService";
    }

    public static void Main()
    {
        ServiceBase.Run(new BlaBlaWindowsService());
    }


    protected override void OnStart(string[] args)
    {
        if (serviceHost != null)
        {
            serviceHost.Close();
        }

        serviceHost = new ServiceHost(typeof(BlaBlaService));

        serviceHost.Open();
    }

    protected override void OnStop()
    {
        if (serviceHost != null)
        { …
Run Code Online (Sandbox Code Playgroud)

c# windows-services task async-await uwp

5
推荐指数
1
解决办法
1203
查看次数

在ORACLE中,是否有一种方法可以使用两个表将多行行连接成一个行,其中最终值用逗号分隔?

有没有办法使用两个表连接多个行行,其中值在ORACLE中用逗号分隔?

例:

表格1

IdN Name 
---------
1   A 
2   B 
3   C 
Run Code Online (Sandbox Code Playgroud)

表2

IdC Car
------------
1    Ferrari
1    BMW
2    SEAT
2    FIAT
3    FORD
Run Code Online (Sandbox Code Playgroud)

结果如下:

A    Ferrari,BMW
B    SEAT,FIAT
C    FORD
Run Code Online (Sandbox Code Playgroud)

我想知道是否有这样的事情:

SELECT NAME,CAR
FROM TABLE1, TABLE2
where TABLE1.IdN=TABLE2.IdC
Run Code Online (Sandbox Code Playgroud)

这返回类似于:

法拉利
宝马
B座椅
B菲亚特
福特

有一种简单的方法可以用逗号分隔值"连接"到一行吗?

sql oracle

3
推荐指数
1
解决办法
5655
查看次数

ssh-add错误:"权限太开放"

当我尝试加载我的密钥时,我收到此错误

ssh-add ~/.ssh
Permissions 0755 for '/home/starkers/.ssh' are too open.
Run Code Online (Sandbox Code Playgroud)

请注意,权限对于.ssh目录而言太开放,而不是实际的密钥.

修改所有权不会改变任何内容:

chmod 755 ~/.ssh
ssh-add ~/.ssh
Permissions 0755 for '/home/starkers/.ssh' are too open.
Run Code Online (Sandbox Code Playgroud)

问题是,当我创建新密钥时,我需要写入此目录,那么它的内容是什么?

ssh file-permissions ssh-keys

3
推荐指数
1
解决办法
7226
查看次数

将多个滤镜应用于图像

我正在尝试将3个滤镜应用于图像.

一个rgbFilter,其值恒定,亮度滤波器饱和滤波器.

android android-gpuimageview

2
推荐指数
1
解决办法
1064
查看次数