草庐IT

数位DP

全部标签

android - 如何修改 Android 的蓝牙堆栈以启用 A2dp Sink

我正在开发一个录音机应用程序,它使用蓝牙麦克风将音频录制到Android设备(Nexus7-根植于Android4.4.2)。它目前在HFP上实现,一切正常。蓝牙麦克风采用Bluegiga的WT32蓝牙模块+麦克风输入,通过HFP的音频质量不是很好,但现在已经足够了。但是,我现在正尝试将蓝牙配置文件更改为A2dp,因为有两个麦克风输入(L/R)并且WT32支持A2dp(来源)。经过大量研究,我发现现有的Android不支持A2dp(接收器),并且可以修改Android的蓝牙堆栈以启用A2dp(接收器)。我不明白如何访问和修改蓝牙堆栈。如果有答案的人能够分解实现此目的的步骤,那就太好了。

android - 如何在 Android 中启用 A2DP 接收器功能?

我正在开发一个使用Gingerbread2.3.4作为操作系统的定制嵌入式设备。现在该设备应该能够播放来自其他支持A2DP的设备(例如iPhone或其他Android设备)的音频流。我知道Gingerbread包含Bluez堆栈4.69,它具有A2DP接收器功能。但是,我怀疑Android是否公开了这些API。您对我如何实现此功能有任何想法吗?由于我不是在开发通用的Android应用程序,因此将不胜感激任何类型的非标准方法。我认为即使在Android中也可以通过DBus接口(interface)直接访问Bluez堆栈。 最佳答案 B

android - 文本大小应使用 "sp"而不是 "dp"

当我使用时android:textSizes="20dp"在我的textView的XML中,我收到一条警告“应该使用"sp"而不是"dp"文本大小。"为什么不应该使用“dp”?什么是正确的方法?如何在不同的显示器上实现相同的文本大小? 最佳答案 您应该始终将SP用于字体,因为它尊重用户的偏好。Hereisanexample让我们通过一个例子来理解它-带有SP和DP的文本更改设备文本设置(设置->显示->字体大小)现在重新打开应用程序并重新查看文本,您会看到使用SP的文本与DP的高度不同。

android-layout - sw600dp 量词在 Galaxy Tab 上不起作用

我有一个包含2个fragment的程序。在平板电脑上,我同时展示了它们。我正在使用/layout-sw600dp文件夹执行此操作。在摩托罗拉Xoom和其他平板电脑上它可以工作,但在SamsungGalaxyTab10.1这很奇怪。我到处找了,没有遇到同样问题的人?请问是什么原因? 最佳答案 不妨把这个作为答案。swXXXdp标识符仅适用于Android3.2及更高版本。如果您想确保正确定位3.2之后和之前的平板电脑,则必须使用swXXXdp属性和large/xlarge属性。举个例子:/layout/--用于手机设备和纵向平板电脑/

android - Android可以支持dp小于1dp吗?

我正在制作日历,我需要一个网格。问题是边界,或者更确切地说是每个网格之间的空间,这是我用来模拟网格的,是1dp。但是比较厚。我正在寻找其他有边框的日历应用程序,它们非常薄。即使我要使用drawable形状并将其设为1dp,它仍然具有该厚度。我尝试使用0.5,但这似乎不起作用。这不可能吗? 最佳答案 Android允许您将dp的小数值输入XML,但我不确定我是否会推荐它,因为结果变得不太容易预测/计算。设备使用(基本上)以下公式将dp值转换为像素:px=(int)(scale*dp+0.5)(即设备密度刻度四舍五入到最接近的整个像素值

android - EditText 设置文本从左边框开始 10dp

可以在androidEditText小部件中设置文本从左边框开始10dp吗?当我现在输入一些东西时,它会粘在左侧,我需要添加一些填充。 最佳答案 这可以通过android:padding属性来实现。四面都有10dp的内边距您可能只想指定左右填充。会让左右padding为10dp。 关于android-EditText设置文本从左边框开始10dp,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

android - android尺寸: pt and dp之间的区别

文档说160dp(与密度无关)等于1英寸。72pt也是1英寸。所以我不明白为什么android定义一个dp测量,而它似乎与点工作相同。有人能解释一下吗?能用pt为什么还要用dp? 最佳答案 Android文档曾经错误地指出,无论屏幕密度如何,160dp始终等于1英寸。这被报告为bug已被接受并更新了文档。来自更新的文档:160dp并不总是等于1英寸,它会随着不同的屏幕尺寸和密度而变化。在密度为160dpi(mdpi)的屏幕上,160dp等于1英寸。无论屏幕密度如何,1pt始终等于1/72in。Android文档是here.更新:我做

android - LinearLayout 的边距,以编程方式使用 dp

是否可以通过编程方式设置LinearLayout的边距,但不是像素,而是dp? 最佳答案 您可以使用DisplayMetrics并确定屏幕密度。像这样的:intdpValue=5;//marginindipsfloatd=context.getResources().getDisplayMetrics().density;intmargin=(int)(dpValue*d);//margininpixels我记得最好使用地板进行偏移和四舍五入的宽度。 关于android-LinearLa

c++ - 设置 std::ostream 精度的最小小数位数

有没有办法设置std::ostream将输出的“最小”小数位数?例如,假设我有两个要打印的未知双变量(此处添加的值是为了便于说明):doublea=0;doubleb=0.123456789;我可以设置我的最大小数精度,以便我输出b准确std::cout>>0.123456789有没有办法设置“最小”精度(最小小数位数),同时保留“最大”精度,这样std::cout产量0.00.123456789不是00.123456789?谢谢!菲尔对此的简短回答是“否”。流只有一种精度设置,无法区分最大和最小精度。感谢大家的慷慨建议! 最佳答案

c++ cout << [double] 不打印小数位

我有一个简单的C++程序,我认为它会将f和g中定义的double值打印为double值……但C++将它们打印为整数。我检查了cout的默认精度,当我运行它时,输出显示默认精度应该是6,所以我很困惑为什么double不能正确打印。#include#includeintmain(){doublef=735416.416898;doubleg=f+0.3;std::cout我看到的输出是:kiran@kiran-VirtualBox:~/test$g++-otesttest.cppkiran@kiran-VirtualBox:~/test$./test[c++]f=735416[c++]g=