相关疑难解决方法(0)

对齐ImageSpan中心垂直周围的文本

我有ImageSpan一段文字.我注意到的是,周围的文本总是在文本行的底部绘制 - 更准确地说,文本行的大小随着图像的增长而增加,但文本的基线不会向上移动.当图像明显大于文本大小时,效果相当难看.

这是一个示例,大纲显示的界限TextView: 在此输入图像描述

我试图让周围的文本相对于正在显示的图像垂直居中.以下是蓝色文本显示所需位置的相同示例:

在此输入图像描述

以下是我受约束的约束:

  • 我不能使用复合drawables.图像必须能够在单词之间显示.
  • 根据内容,文本可以是多行的.我无法控制这一点.
  • 我的图像比周围的文字大,我不能减小它们的大小.虽然上面的示例图像大于实际图像(以演示当前行为),但实际图像仍然足够大,以至于此问题显而易见.

我已尝试android:gravity="center_vertical"在TextView上使用该属性,但这没有任何效果.我认为这只是文本行的垂直居中,但在文本行中,文本仍然在底部绘制.

我目前的思路是创建一个自定义跨度,根据行的高度和当前文本大小来移动文本的基线.这个跨度将包含整个文本,我将不得不计算与ImageSpans 的交集,所以我也可以避免移动图像.这听起来相当令人生畏,我希望有人能提出另一种方法.

任何和所有的帮助表示赞赏!

android text spannable imagespan

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

如何在文本中插入drawables

我想将小图片(例如箭头图标)插入到某个内容的某些位置TextView.

下面的照片描绘了我想要的东西:

这就是我想在文本中嵌入图标的方式

显然,最天真的解决方案是TextView在小ImageView物体的两侧使用多个.但这种方法不具备可扩展性.

我很想知道是否有人用一些简单而聪明的技巧克服了这个问题.(也许在HTML或外部库的帮助下)

非常感谢任何有效的解决方案.

user-interface android textview imageview

14
推荐指数
2
解决办法
6481
查看次数

如何在TextView Android上使用带有文本的图像(设备的存储图像)?

我正在创建聊天应用程序,我从服务器获取EMOJI(IMAGE URLS).

我使用这个图像(表情符号网址)在我TextView的下面的代码行中的文本.

String stringWithHtml = "Sample string with an <img src=\"http://MY_SERVER.emoji.s3.amazonaws.com/cf68/5794d5f7895fa10a8f8e1350/imgList/5794d5f7895fa10a8f8e136a.png\"></img>" +
                        "<img src=\"http://MY_SERVER.emoji.s3.amazonaws.com/cf68/5794d5f7895fa10a8f8e1350/imgList/5794d5f7895fa10a8f8e135a.png\"></img>"+
                        "<img src=\"http://MY_SERVER.emoji.s3.amazonaws.com/cf68/5794d5f7895fa10a8f8e1350/imgList/5794d5f7895fa10a8f8e135b.png\"></img>"; 


Drawable drawable = Drawable.createFromStream(new URL(source).openStream(), "src name");
                    drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

Spanned spannedValue = Html.fromHtml(stringWithHtml, drawable, null); 
MY_TEXTVIEW.setText(spannedValue);
Run Code Online (Sandbox Code Playgroud)

这一切,我正在使用AsynTask并获得如下预期结果: -

我的结果

现在我将所有表情符号(图像)存储在我的设备上,并希望在我的文本中使用它TextView.

我的问题是我们如何在TextView上使用带有文本的设备(存储图像)?

我在SO上搜索了它但没有得到预期的结果.请检查我访问过的以下链接.

1.第一链接
2.第二链接
3.第三链接
4.第四链接

我已经使用了ImageSpan它,但另一个问题出现了,我已经在SO 上发布了问题点击这里

请帮我解决这个问题.谢谢

java android image imagespan

11
推荐指数
1
解决办法
943
查看次数

特殊字符Android TextView

我想在Android TextView中显示"♫"字符,但它显示[].

这是我的代码:

txtCatname.setText("?");
Run Code Online (Sandbox Code Playgroud)

如何正确显示此符号?

android character textview

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

Android:某些手机上没有显示俄罗斯卢布货币?

我正在使用这样的格式化货币字符串获取一些JSON数据

?35
Run Code Online (Sandbox Code Playgroud)

但是,我注意到在Nexus 5(Lollipop)上它显示正确,但其他手机,如HTC one mini和Samsung GT-I9505,它显示一个空白字符.

我试图研究这个问题,除了在XML布局文件中,我找不到解决方案,确保该行存在

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

但我仍然有同样的问题

请帮忙

编辑2015年5月15日

加载自定义字体NotoSans(请注意我知道这会泄漏内存,但它只是一个快速测试)

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView ruble = (TextView)findViewById(R.id.ruble);
        Typeface myFont = Typeface.createFromAsset(getAssets(),"fonts/NotoSans-Regular.ttf");
        ruble.setTypeface(myFont);
    }
Run Code Online (Sandbox Code Playgroud)

strings.xml中定义的俄罗斯卢布符号(注意我尝试了所有)

     <string name="rubleSymbolJava">\u20BD</string>
  <string name="rubleSymbolHTML">&#8381;</string>
    <string name="rubleSymbolHTMLHex">&#x20bd;</string>
Run Code Online (Sandbox Code Playgroud)

同样的问题,在老式手机上显示为方形但适用于Android 5.0但没有更旧.

已解决请参阅我的回答

android

9
推荐指数
2
解决办法
5215
查看次数

动态TextViews以线性布局环绕到下一行/行

我正在尝试构建一个UI,在其中我具有在XML中定义的线性布局。

根据用户的输入,我需要向此线性布局添加一些TextView。我能够做到这一点。

我的实际问题是,当我拥有更多的文本视图时,它们彼此并排堆叠,并且某些文本视图的文本被隐藏或垂直拉伸,如下图所示。

请看这张图片(当前)

我想使用线性布局的整个宽度,如果文本视图不能容纳在此行中,则应将其放在新行中或第一个文本视图的下面。我希望显示如下。

我希望我可以这样

以下是我在XML中的线性布局配置:

    <RelativeLayout
        android:id="@+id/RL1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:paddingBottom="5dip"
        android:paddingTop="5dip" >

        <TextView
            android:id="@+id/text1"
            android:layout_width="85dip"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:gravity="left"
            android:text="Lable 1"
            android:textColor="#999999" />

        <LinearLayout
            android:id="@+id/LL1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_toLeftOf="@+id/button1"
            android:layout_toRightOf="@+id/text1"
            android:gravity="left|center_vertical"
            android:orientation="horizontal"
            android:paddingLeft="5dip"
            android:paddingRight="5dip"
            android:paddingTop="3dip" >
        </LinearLayout>

        <Button
            android:id="@+id/button1"
            android:layout_width="30dip"
            android:layout_height="30dip"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginTop="2dip"
            android:background="@drawable/plus"
            android:clickable="true"
            android:focusable="true"
            android:paddingTop="5dip" />
    </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我如何在Java代码中重新对齐相同的内容。

android alignment textview android-layout android-linearlayout

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

如何在Android Studio的导航抽屉模板中添加图标?

我目前正在开发一个应用程序,其中每个抽屉的文本旁边都有图标.我的目标是图标的布局如下所示:

http://www.codeofaninja.com/wp-content/uploads/2014/02/android-navigation-drawer-example-1.png

我搜索过互联网,似乎无法找到任何直接使用Android Studio导航抽屉模板的示例.这是我的代码.

MainActivity.java:

import android.app.Activity;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.support.v4.widget.DrawerLayout;
import android.widget.ArrayAdapter;
import android.widget.TextView;


public class MainActivity extends ActionBarActivity
        implements NavigationDrawerFragment.NavigationDrawerCallbacks {

    /**
     * Fragment managing the behaviors, interactions and presentation of the navigation drawer.
     */
    private NavigationDrawerFragment mNavigationDrawerFragment;

    /**
     * Used to store the last screen title. For use in {@link #restoreActionBar()}.
     */
    private CharSequence …
Run Code Online (Sandbox Code Playgroud)

java android android-listfragment android-studio navigation-drawer

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

如何在android中的textview上使用红色*符号

我有一个文本视图.文本视图是必需的,因此我希望*文本视图顶部的符号为红色.在此输入图像描述

java android textview

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

如何实现文本中间带有图标的文本?

我需要在两个区域设置的文本中间带有图标的文本,如下图所示。在此输入图像描述

android

0
推荐指数
1
解决办法
650
查看次数