小编Che*_*eng的帖子

如何使RelativeSizeSpan与顶部对齐

我有以下字符串RM123.456.我想要

  • 使RM相对较小
  • RM准确对齐

我几乎可以通过使用来实现它

spannableString.setSpan(new RelativeSizeSpan(0.50f), 0, index, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString, TextView.BufferType.SPANNABLE);
Run Code Online (Sandbox Code Playgroud)

结果看起来像

在此输入图像描述

但是,它与底部对齐.它没有与顶部对齐.

我试着用SuperscriptSpan.看起来像

在此输入图像描述

它没有做我想要的

  • SuperscriptSpan不会使文字变小.我无法控制其尺寸.
  • SuperscriptSpan 将使文本"在顶部对齐"

我可以知道,我怎样才能让RelativeSizeSpan 准确对齐?

这就是我希望实现的目标.

在此输入图像描述

请注意,我们不希望使用2 TextViews解决方案.

android spannablestring android-studio

34
推荐指数
6
解决办法
5186
查看次数

关闭Apache Common Logging

我在我的独立应用程序中使用Apache Common Logging库.在网上搜索后,我尝试使用关闭日志

package javaapplication1;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 *
 * @author yccheok
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");

        log.info("You do not want to see me");
    }

    private static final Log log = LogFactory.getLog(Main.class);
}
Run Code Online (Sandbox Code Playgroud)

但是,我仍然可以看到正在打印的日志消息.我可以知道我错过了什么吗?

我可以通过推杆关闭日志

# Sample ResourceBundle properties file
org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog
Run Code Online (Sandbox Code Playgroud)

在commons-logging.properties中.

但是,在我开发期间,我的Netbeans不知道从哪里获取commons-logging.properties,有时我需要在开发期间关闭日志记录.

java

32
推荐指数
3
解决办法
2万
查看次数

YUV NV21转换为RGB的困惑

根据http://developer.android.com/reference/android/graphics/ImageFormat.html#NV21,NV21是默认使用的格式.

网上有很多关于YUV NV21到RGB转换的代码.但是,当我查看代码时,我怀疑代码的正确性.

第一个组分V应首先出现,然后是第一个组分U.

根据http://wiki.videolan.org/YUV#NV21,NV21 is like NV12, but with U and V order reversed: it starts with V.但是,当我完成代码实现时

[R应该是最显著位置 的根据实施int argbColor.java,R假设是在最显著位置.但是,我经历了以下代码实现

我想知道,他们是否犯了常见错误,或者我忽略了什么?

目前,我的实施如下.

public static void YUV_NV21_TO_RGB(int[] argb, byte[] yuv, int width, int height) {
    final int frameSize = width * height;

    final int ii = 0;
    final int ij = 0;
    final int …
Run Code Online (Sandbox Code Playgroud)

android nv12-nv21

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

如果用作ListView行视图,为什么会忽略LinearLayout的边距

我想知道,如果我只提供单层LinearLayoutListView的行视图,它的边距将被忽略.

如果使用ListView的行视图,将忽略边距

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="5dp"
Run Code Online (Sandbox Code Playgroud)

但是,如果我提供双层LinearLayout,第一层充当"虚拟"层,其边距将不会被忽略.

我们将在ListView的行视图中有边距

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/buyPortfolioLinearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="5dp"
Run Code Online (Sandbox Code Playgroud)

我可以知道为什么会这样吗?

android

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

如何使用JQuery选择第n个选项

我有以下HTML

<select onchange="this.form.submit()" name="name">
    <option value="9995101E01#17201044055PM">9995101E01#17201044055PM</option>
    <option value="GRR-Example">GRR-Example</option>
    <option value="admin">admin</option>
    <option value="123w">123w</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我可以知道如何使用JQuery来选择值"admin"吗?

html javascript jquery

31
推荐指数
3
解决办法
5万
查看次数

使用std :: string来保存二进制数据是否有效,以避免手动动态内存管理

注意base64_decodehttp://www.adp-gmbh.ch/cpp/common/base64.html

std::string base64_decode(std::string const& encoded_string)
Run Code Online (Sandbox Code Playgroud)

该函数假设返回byte array以指示二进制数据.但是,该功能正在返回std::string.我的猜测是,作者试图避免执行显式动态内存分配.

我尝试验证输出是否正确.

int main()
{
    unsigned char data[3];
    data[0] = 0; data[1] = 1; data[2] = 2;
    std::string encoded_string = base64_encode(data, 3);
    // AAEC
    std::cout << encoded_string << std::endl;


    std::string decoded_string = base64_decode(encoded_string);
    for (int i = 0; i < decoded_string.length(); i++) {
        // 0, 1, 2
        std::cout << (int)decoded_string.data()[i] << ", ";
    }
    std::cout << std::endl;
    getchar();
}
Run Code Online (Sandbox Code Playgroud)

解码输出是正确的.只是想确认一下std::string,保存二进制数据是否有效,避免手动动态内存管理.

std::string s;
s += (char)0; …
Run Code Online (Sandbox Code Playgroud)

c++

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

执行制表符切换时避免重新创建相同的视图

目前,我有2个Fragments,可通过ActionBar标签切换.

    getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    ActionBar.Tab newTab = getSupportActionBar().newTab();
    newTab.setText("history");
    newTab.setTabListener(new TabListenerHistoryFragment>(this, "history",
        HistoryFragment.class));
Run Code Online (Sandbox Code Playgroud)
 @Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
    // Check if the fragment is already initialized
    if (mFragment == null) {

        // If not, instantiate and add it to the activity
        mFragment = Fragment.instantiate(mActivity, mClass.getName());
        mFragment.setRetainInstance(true);
        ft.add(android.R.id.content, mFragment, mTag);
    } else {
        // If it exists, simply attach it in order to show it
        ft.attach(mFragment);
    }        
}
Run Code Online (Sandbox Code Playgroud)

我意识到我的第一次Activity(此活动持有2个片段)正在启动,Fragments'方法将按以下顺序调用.

onCreate -> onCreateView …

android

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

android的有什么特别之处:EditText的inputType ="textPersonName"

我试过了

        <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName" >
Run Code Online (Sandbox Code Playgroud)

我意识到它可以接受任何角色.那么,android:inputType="textPersonName"与没有它相比,有什么特别之处呢?

android

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

在Fragment中使用的AsyncTaskLoader和AsyncTask中选择的指南

查看LoaderCustomSupport(使用AsyncTaskLoader)和FragmentRetainInstanceSupport(使用Thread,几乎等同于AsyncTask)

两个例子都有以下相似之处.

  • 两者都不会在加载数据时阻止UI线程
  • 当用户执行屏幕旋转等配置更改时,不会破坏数据获取线程.
  • 当数据提取线程完成提取数据时,它可以更新到正确的Fragment UI

但是,存在差异.

AsyncTaskLoader

  • 似乎没有简单的方法可以将中间进度更新到进度条对话框

的AsyncTask

  • 对此不确定.但Android文档似乎建议AsyncTaskLoader用于异步数据加载并将最终结果更新到UI

是否有任何指南或清单可以决定是否选择AsyncTaskLoader或AsyncTask来执行耗时的加载任务并将结果更新到Fragment的UI?

android

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

如何获得当前时区?

在我看到的大多数例子中:

time_zone_ptr zone( new posix_time_zone("MST-07") ); 
Run Code Online (Sandbox Code Playgroud)

但我只想获得运行代码的机器的当前时区.我不想硬编码时区名称.

c++ timezone boost boost-date-time

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