相关疑难解决方法(0)

Android虚线可绘制潜在的ICS错误

以下是虚线,在XML中定义为ShapeDrawable:

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">

    <size
        android:height="2dp"
        android:width="700dp" />

    <stroke
        android:width="1dp"
        android:color="@android:color/black"
        android:dashWidth="1dp"
        android:dashGap="2dp" />

</shape>
Run Code Online (Sandbox Code Playgroud)

这将在几个姜饼手机上绘制一个漂亮的虚线.然而,在Galaxy Nexus上,破折号似乎被忽略,并且形状被绘制为连续的线.更奇怪的是,运行ICS的仿真器将使用破折号正确渲染它,它只是物理设备搞砸了.

我错过了一些明显的东西吗 或者这真的是Android 4.0的错误吗?这条线在几个地方使用.以下是ImageView的示例:

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/observation_observe_side_margin"
    android:layout_marginRight="@dimen/observation_observe_side_margin"
    android:layout_marginTop="16dp"
    android:contentDescription="@string/dotted_line_description"
    android:src="@drawable/dotted_line" />
Run Code Online (Sandbox Code Playgroud)

android xml-drawable shapedrawable

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

在画布上绘制虚线

如何在画布上绘制虚线.我已经尝试过了:

Paint dashPaint = new Paint();
dashPaint.setARGB(255, 0, 0, 0);
dashPaint.setStyle(Paint.Style.STROKE);
dashPaint.setPathEffect(new DashPathEffect(new float[]{5, 10, 15, 20}, 0));
canvas.drawLine(0, canvas.getHeight() / 2, canvas.getWidth(), canvas.getHeight() / 2, dashPaint);
Run Code Online (Sandbox Code Playgroud)

它给了我一条简短的线条,而不是一条线条.

android drawing canvas

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

自定义跨度下划线文本与虚线Android

我厌倦了用文字中的一个特定单词加下划线,用虚线或虚线表示,还有Clickable Span.

我没有找到解决方案,有人可以帮助我.

SpannableStringBuilder sb = new SpannableStringBuilder(text); List listmot = new ArrayList();

       listmot=db.getAlldef();

       for(int i=0;i<listmot.size();i++)
       {


            String mot = (listmot.get(i)).get_mot();
            final String def = (listmot.get(i)).get_definition();

       Log.v(null, mot);
       Pattern p = Pattern.compile(mot, Pattern.CASE_INSENSITIVE);
       Matcher m = p.matcher(text);
       while (m.find()){


         //  Typeface tf = Typeface.createFromAsset(getApplicationContext().getAssets(),"fonts/font.ttf");
           //sb.setSpan(new CustomTypefaceSpan("",tf), m.start(), m.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

      sb.setSpan(new ClickableSpan() {

        @Override
        public void onClick(View widget) {
        //  Toast.makeText(getApplicationContext(), def,Toast.LENGTH_LONG).show();



            int[] values = new int[2]; 
            widget.getLocationOnScreen(values);
            Log.d("X & Y",values[0]+" "+values[1]);
            AlertDialog.Builder alertDialog = new AlertDialog.Builder(
                    AndroidSQLiteTutorialActivity.this);
            alertDialog.setMessage(def);
            alertDialog.setCancelable(true);

            AlertDialog …
Run Code Online (Sandbox Code Playgroud)

android dotted-line

7
推荐指数
1
解决办法
2175
查看次数

如何将Material Design样式设置为禁用EditText(android)?

我正在尝试按照指南制作禁用的EditText样式:

https://www.google.com/design/spec/components/text-fields.html#text-fields-labels

<EditText
        android:id="@+id/account_number"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/test_account"
        android:enabled="false" />
Run Code Online (Sandbox Code Playgroud)

我已经实现了材料设计风格,所以我的所有小部件看起来都很重要.

问题是:有没有办法在不添加其他视图的情况下使用样式将此虚线下划线?

我的styles.xml:

<style name="Theme.Main" parent="@style/Theme.AppCompat.Light.NoActionBar">         
    <item name="android:editTextStyle">@style/android:Widget.Material.EditText</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-edittext material-design

7
推荐指数
1
解决办法
5499
查看次数

绘制虚线(....)轨迹而不是线(________)

现在,下面是我在地图中绘制地理位置之间路径的代码.这完全没问题.我想要实现的不是画一条线,而是用iPhone中的点(.)显示这条路径.我希望它像这个gp1 ......... gp2而不是像gp1_ _ __ _ _gp2 一样画一条直线.

我已经尝试了几乎所有的选择,但仍然没有成功,任何人都可以帮我解决这个问题?

private void drawPath(List geoPoints, int color) {
    List overlays = objMapView.getOverlays();
    int loopcount = geoPoints.size() - 1;
    for (int i = 0; i < loopcount; i++) {
        GeoPoint p1 = (GeoPoint) geoPoints.get(i);
        GeoPoint p2 = (GeoPoint) geoPoints.get(i + 1);
        MyPathOverLay p = null;
        /**** Marking the start and end of the trailpath ****/
        if (i == 0) {
            Bitmap bmp = BitmapFactory.decodeResource(this.getResources(),R.drawable.greenflag);
            p = new MyPathOverLay(p1, p2, 0xFFFF0000, true, false, bmp); …
Run Code Online (Sandbox Code Playgroud)

android google-maps bitmap map android-canvas

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

android,如何在edittext中绘制虚线

我参考了这个链接:如何在Android中创建虚线/虚线?,并使用DashPathEffect.但这对我不起作用?为什么?我的代码:

public class NoteEditText extends EditText {
    private Paint mPaint;

    public NoteEditText(Context context) {
        super(context);
    }

    public NoteEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        mPaint = new Paint();
        mPaint.setStrokeWidth(1);
        mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
        mPaint.setColor(Color.DKGRAY);
        PathEffect effects = new DashPathEffect(new float[]{5,5,5,5},1);  
        mPaint.setPathEffect(effects);
    }

    @Override
    public void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        int height = this.getHeight();
        int lineHeight = this.getLineHeight();
        int lineNum = height / lineHeight;
        L.l("line count: " + lineNum);
        for (int i = 0; i < lineNum; i++) {
            int …
Run Code Online (Sandbox Code Playgroud)

android draw dotted-line ondraw android-edittext

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

以编程方式在Android上绘制虚线

我想在编程生成的TextViews之间绘制水平虚线.我试过这段代码:

Paint fgPaintSel = new Paint();
fgPaintSel.setARGB(255, 0, 0, 0);
fgPaintSel.setStyle(Paint.Style.STROKE);
fgPaintSel.setPathEffect(new DashPathEffect(new float[]{5, 10}, 0));
Run Code Online (Sandbox Code Playgroud)

但什么都没发生.我只是复制并粘贴了这段代码.我该怎么画一条虚线?谢谢.

java android paint android-layout

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

Android中的虚线XML

我正在开发一个Android应用程序,我希望在我的布局中使用虚线XML作为分隔符.为此我为此使用了不同的drawable,而是制作一个虚线虚线,它正在制作一条线.

我的绘画如下:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
    <stroke
        android:color="#FF404040"
        android:width="1dp"
        android:dashGap="3dp"
        android:dashWidth="1dp"
    />
    <size
        android:height="3dp"
    />
</shape>
Run Code Online (Sandbox Code Playgroud)

android line dotted-line

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

如何在TextView中的部分文本周围设置矩形虚线/虚线轮廓?

背景

有很多方法可以为TextView中显示的部分文本设置样式,例如设置其前景色(此处)和其他(此处).

问题

我无法确定是否有办法在TextView 的部分文本上设置矩形虚线/虚线轮廓.像这样的东西:

在此输入图像描述

我试过的

我试图寻找这样的解决方案,并且我也尝试阅读CharacterStyle的文档.尽管如此,我认为任何可用的跨度都不适合这种风格.

这个问题

是否有内置的解决方案,或者我是否需要使用自定义的实现?


我使用了下面建议的修改版本,它在POC上运行良好,但出于某种原因,在实际项目中,文本两侧的垂直虚线是粗体:

在此输入图像描述

这是当前的代码:

要使用的字符串

<string name="text_to_format">test &#160;&#160;%1$s test</string>
Run Code Online (Sandbox Code Playgroud)

使用代码

        final String textToDash="DASHED";
        String formattedStr = getString(R.string.text_to_format, textToDash+ "<bc/>");
        Spanned textToShow = Html.fromHtml(formattedStr, null, new TagHandler() {
            int start;

            @Override
            public void handleTag(final boolean opening, final String tag, Editable output, final XMLReader xmlReader) {
                switch (tag) {
                    case "bc":
                        if (!opening)
                            start = output.length() - textToDash.length();
                        break;
                    case "html":
                        if (!opening)
                            output.setSpan(
                                    new …
Run Code Online (Sandbox Code Playgroud)

android textview spannablestring

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

如何在 Jetpack Compose 中制作虚线/虚线?

我需要从这个答案中复制 android XML 视图,但在 Jetpack Compose 中使用纯 kotlin

android kotlin android-jetpack-compose

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

Android:EditText 下的虚线大小固定

如果我有一个只允许用户输入 6 位数字的 EditText。如何在每个数字下创建一条线,每个数字之间有一个小空间。

像这样

其他问题是解决仅作为布局中的分隔线的虚线的方案。

问题 1

问题2

android android-layout android-edittext android-textinputedittext

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

在android中添加水平和垂直虚线

请给我在列表视图中添加垂直虚线的代码。我尝试使用形状标记方法创建 xml

android listview dotted-line

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