小编Dan*_*lme的帖子

在Android中使文本浮动

我试图在Android中实现一些文本布局,就像float="right"在HTML中一样.我在屏幕的某个区域有两个文本项.我希望其中一个在TextView中左对齐,其中一个是右对齐的,就像这样(其中|两端代表封闭容器): -

| First text item      label |
Run Code Online (Sandbox Code Playgroud)

到目前为止,这听起来很容易:我可以用a中的两个TextViews 来做RelativeLayout,右边的一个设置为layout_alignParentRight="true"或layout_gravity="right".但也有左手文字太长而无法容纳剩余空间的情况.有了RelativeLayout它会与右手文本重叠,但我想在这种情况下分成两行: -

| This text is way too long  |
|                      label |
Run Code Online (Sandbox Code Playgroud)

同样,如果左侧文本流向多行,我希望右手文本尽可能适合同一行: -

| This text doesn't fit on   |
| one line             label |
Run Code Online (Sandbox Code Playgroud)

因为ViewAndroid中的s总是矩形的,所以TextView即使我写了一个自定义,似乎也不可能让这个最后一个例子用两个s 工作Layout.我查看使用a Spannable让我把所有文本放在一个TextView,但是再次,AlignmentSpan是一个ParagraphStyle,所以看起来它不能将标签放在与左手文本相同的那条线上.是否有其他类型的文本跨度可用于实现此目的,甚至是完全不同的方法?

目前,看起来我要将文本放在HTML中并使用WebView(不是很好,因为视图要放在列表项中),或者编写一个类似自定义TextView的小部件.

android text textview android-layout

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

生成多个范围之间的随机数

我理解如何制作一个介于两个数字之间的随机数:

1 + (int)(Math.random() * ((10 - 1) + 1))
Run Code Online (Sandbox Code Playgroud)

要么

Min + (int)(Math.random() * ((Max - Min) + 1))
Run Code Online (Sandbox Code Playgroud)

但是,如何生成一个落入多个范围的随机数?

例如:数字可以介于1到10之间或介于50到60之间

java random range

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

每个InputType常量的语义是什么?

您可以设置TextView的inputType,从值的一个InputType暗示,在键入的文字应该是一个人的名字,电话号码,&C.即使输入方法不遵守此提示,也TextView使用a KeyListener和/或TransformationMethod确保只能输入相关字符,或者具有屏蔽密码等效果.即使是标志也不只是提示:它们可以改变TextView显着的行为(最明显的例子EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE).

谷歌的文档对每个文件的实际效果都非常模糊inputType.每种情况下实际允许哪些字符?如果有的话,这会因地区而异?即使没有记录的答案,并且它可能在版本之间发生变化,我仍然想知道预期的行为.

android textview android-input-method

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

Android http方案的意图过滤器

我构建了一个需要 OAuth 的 Android 应用程序。使用由 Android 拦截的自定义方案回调,一切运行良好。雅虎似乎已经更改了目标帖子,现在雅虎不接受自定义方案。

我现在正在寻找可能的替代方法。我的第一次尝试是使用普通的 http 方案并修改我的意图过滤器以拦截新的 URL。我的 AndroidManifest.xml 中有以下内容:

  <intent-filter>
    <action android:name="android.intent.action.VIEW"></action> 
    <category android:name="android.intent.category.DEFAULT"></category> 
    <category android:name="android.intent.category.BROWSABLE"></category>
    <data android:host="www.test.com" android:scheme="http"></data> 
  </intent-filter>
Run Code Online (Sandbox Code Playgroud)

其中 www.test.com 将替换为我拥有的域名。它似乎 :

  • 当我点击页面上的链接时,会触发此过滤器。
  • 雅虎重定向不会触发它,浏览器会打开 www.test.com 网站
  • 当我在浏览器中直接输入域名时不会触发。

那么有人可以帮助我吗

  • 这个意图过滤器到底什么时候会被触发?
  • 对意图过滤器或权限进行的任何更改都会扩大过滤器以应用于重定向请求吗?
  • 我还可以使用其他方法吗?

感谢您的帮助。

android android-manifest

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

使制表符缩进当前行

我正在使用IntelliJ IDEA编写Java并找到默认Tab行为(在光标位置插入一个选项卡)非常烦人.我希望它表现得像Shift- Tab.

Shift- Tab如果没有选择则去除光标线,或者无论光标在线上的位置如何,否则选择中的每一行(如果有的话)都会缩进.我尝试Tab通过更改键盘映射设置使行为方式相同:我Tab从编辑器操作 → 选项卡中取消绑定键,以便它执行编辑 → 缩进选择.但这只会使它缩进选择:如果没有选择,Tab现在按下什么都不做.

对于Shift- Tab的实际上,de-indent动作实际上是编辑器动作 → Unindent Selection,但是没有相应的缩进动作.

Tab如果没有选择,如何使键缩进当前行(将缩进增加一个句点)?

keyboard-shortcuts intellij-idea

5
推荐指数
2
解决办法
835
查看次数

如何从Grammar-Kit中的表达式中排除逗号运算符?

我正在为包含逗号运算符的C派生语言编写IntelliJ语言插件.我正在使用Grammar-Kit生成解析器.在形式语法有很多嵌套表达式产生的地方,我用Grammar-Kit的基于优先级的表达式解析重写了它们,所以我的表达式生成如下所示:

expression ::= comma_expression
 | assignment_expression
 | conditional_expression
 | eor_expression
 | xor_expression
 | and_expression
 | equality_expression
 | relation_expression
 | add_expression
 | mul_expression
 | prefix_expression
 | postfix_group
 | primary_expression

comma_expression ::= expression ',' expression {pin=2}
// etc.
Run Code Online (Sandbox Code Playgroud)

这本身工作正常,但也有语法地方,我需要解析的表达式不能是一个逗号表达式.函数调用就是一个例子:

function_call_expression ::= identifier '(' ('void'|<<comma_list expression>>)? ')'
private meta comma_list ::= <<p>> (',' <<p>>)*
Run Code Online (Sandbox Code Playgroud)

函数参数不能是逗号表达式,因为使用逗号分隔下一个参数时这将是不明确的.(在我现在的语法中,它总是作为单个逗号表达式解析.)形式语法通过指定每个函数参数必须是赋值表达式来处理它,因为它们的赋值表达式包括所有具有更严格优先级的表达式.这对于基于Grammar-Kit优先级的语法不起作用,因为赋值表达式确实必须包含赋值.

这同样适用于初始化程序,其中允许逗号表达式会导致在类似情况下进行模糊解析int x=1, y;.

我该如何处理这种情况?我想继续使用基于优先级的解析来保持浅的PSI树,但也避免手动重写PSI树以进行函数调用以将a CommaExpression转换为参数列表.

comma intellij-plugin grammar-kit

5
推荐指数
0
解决办法
233
查看次数

Time.frameCount 何时递增?

Unity3D 提供许多每帧回调,最常用的是Update. 还有一些较少使用的,如OnWillRenderObject、OnRenderObject和OnPostRender。关于这些回调的调用顺序,什么时候Time.frameCount递增?

我正在尝试将渲染完成后捕获的帧抓取与该帧中其他回调记录的对象属性同步。我发现,当OnPostRender被调用时,Time.frameCount已经递增,因此我收到通知的帧实际上是前一帧。因此,我想知道帧计数增加后还会调用哪些其他回调。

unity-game-engine

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

如何在Vec上更新或插入?

我在Rust写一个数据结构.它包含一Vec对键值对.当插入到结构中时,我需要找到匹配的键并更新键和值(实际上是子指针).代码看起来有点像这样,其中pivots是一个ref mutto Vec<Pivot>,Pivot它只是一个包含两个字段的结构:

match pivots.iter_mut().find(|ref p| key <= p.min_key) { // first mutable borrow
    Some(ref mut pivot) => {
        // If there is one, insert into it and update the pivot key
        pivot.min_key = key;
        pivot.child.insert(key, value) // recursive call
    },
    // o/w, insert a new leaf at the end
    None => pivots.push(Pivot /* ... */) // second mutable borrow
}
Run Code Online (Sandbox Code Playgroud)

但是有一个问题.即使我没有在第二部分中使用可变迭代器match,借用检查器也会抱怨我"不能*pivots一次多次借用可变的迭代".

这对我来说是完全合理的,因为第一次借用仍然在范围内,即使它没有在那种情况下使用match.这有点不方便:一个聪明的检查员当然可以说借用是不重叠的.我见过有人在线建议使用早期返回以避免问题,如下所示:

match pivots.iter_mut().find(|ref …
Run Code Online (Sandbox Code Playgroud)

rust borrow-checker

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

响应Android联系人应用程序中的新联系人

每当用户在Android Contacts应用程序中添加新联系人时,我都想执行某项操作.它将包括使用新联系人的信息.

是否有捷径可寻?是否有一些事件可以被监听,或者我是否必须扩展联系人应用程序本身?或者,如果不可行,我应该考虑其他方法.

android android-contacts

4
推荐指数
1
解决办法
1823
查看次数

使RelativeLayout可检查

我尝试CheckBox使用RelativeLayoutwith TextView和FrameLayout(在背景上使用选择器)编写我自己的内容.

我setDuplicateParentStateEnabled(true)为FrameLayout它取从父辨认的状态,但为什么做RelativeLayout辨认的,我不知道.

public class MyCheckbox extends RelativeLayout implements OnClickListener, Checkable
{
private static final int ID_CHECKBOX = -1234411;
private static final int ID_TEXTVIEW = -1234412;
private static final int ID_PARENT = -1234413;

private TextView textView;
private FrameLayout checkBox;
private boolean isChecked;

public MyCheckbox(Context context)
{
    this(context, null);
}

public MyCheckbox(Context context, AttributeSet attrs)
{
    super(context, attrs);

    LayoutParams lp;

    setId(ID_PARENT);
    setOnClickListener(this);

    // checkBox
    checkBox = new FrameLayout(context); …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-drawable

4
推荐指数
2
解决办法
5344
查看次数

如何分配固定大小的数组?

在C中,我有

struct a {
    int a;
    char b[16];
    int c;
};
Run Code Online (Sandbox Code Playgroud)

例如struct a,结构区域是平面的,或者struct a是否有指针,例如,结构大小是4 + 16 + 4,还是4 + 4 + 4?

如果我有什么会发生什么

struct a A,B;
A->b = B->b;
Run Code Online (Sandbox Code Playgroud)

?

c struct

4
推荐指数
1
解决办法
4053
查看次数