相关疑难解决方法(0)

如何垂直对齐文本?

目标:纯画布上的Android> = 1.6.

假设我想编写一个绘制(宽度,高度)大红色矩形的函数,然后在里面绘制一个黑色的Hello World文本.我希望文本在视觉上位于矩形的中心.所以让我们试试:

void drawHelloRectangle(Canvas c, int topLeftX, 
        int topLeftY, int width, int height) {
    Paint mPaint = new Paint();
    // height of 'Hello World'; height*0.7 looks good
    int fontHeight = (int)(height*0.7);

    mPaint.setColor(COLOR_RED);
    mPaint.setStyle(Style.FILL);
    c.drawRect( topLeftX, topLeftY, topLeftX+width, topLeftY+height, mPaint);

    mPaint.setTextSize(fontHeight);
    mPaint.setColor(COLOR_BLACK);
    mPaint.setTextAlign(Align.CENTER);
    c.drawText( "Hello World", topLeftX+width/2, ????, mPaint);
}
Run Code Online (Sandbox Code Playgroud)

现在我不知道在标记为drawText的参数中放什么????,即我不知道如何垂直对齐文本.

就像是

???? = topLeftY + height/2 + fontHeight/2 - fontHeight/8;

似乎或多或少有效,但必须有更好的方法.

java android canvas drawtext

46
推荐指数
6
解决办法
4万
查看次数

如何将文本与TextView顶部对齐?

如何将文本与TextView顶部对齐?
用于Swings setInsets()的等效Android API?
文本顶部应该从TextView的(0,0)开始

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical">

    <TextView 
        android:id="@+id/text1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="TextView" 
        android:textSize="42sp" 
        android:paddingTop="0px" 
        android:gravity="top">
    </TextView> 
</LinearLayout> 
Run Code Online (Sandbox Code Playgroud)

我已经使用了上面的片段,但是仍然输出不是预期的
任何想法?

layout android

39
推荐指数
3
解决办法
6万
查看次数

Android将文本绘制到中心的矩形并根据需要裁剪

我想在中心(水平和垂直)上绘制文本为矩形.如果有太多的文本裁剪它不适合rect.

我尝试做的这个例子显示,但没有运气.

有任何想法吗?

android text rect draw

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

Android动画 - 随着背景转换放大和淡化

我想做这样的事情.有人能指出我正确的方向吗?

在此输入图像描述

现在,我正在使用Scale Animation和FadeOut Animation.看起来像这样..

在此输入图像描述

我如何为此添加背景颜色..另外请记住,我希望这可以从ICS/Jellybean工作

我的代码到现在为止......

fade_out_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.1"
        android:duration="100" />
</set>
Run Code Online (Sandbox Code Playgroud)

scale_up_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <scale
        android:duration="100"
        android:fromXScale="0.1"
        android:fromYScale="0.1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1"
        android:toYScale="1" />
</set>
Run Code Online (Sandbox Code Playgroud)

activity_main.xml - 只是相关部分

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center">

            <TextView
                android:id="@+id/textView4"
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:layout_centerInParent="true"
                android:layout_margin="8dp"
                android:background="@drawable/shape_circle"
                android:gravity="center"
                android:text="004"
                android:textColor="@color/light_gray"
                android:textSize="18sp" />

            <View
                android:id="@+id/outer_view"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:layout_centerInParent="true"
                android:visibility="invisible"
                android:background="@drawable/shape_circle_yellow"/>


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

shape_circle.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="false" android:state_pressed="false" android:state_selected="false">
        <shape android:shape="oval">

            <solid android:color="@color/ash" />  <!-- Fill color -->

            <stroke android:width="4dp" android:color="@color/medium_gray" …
Run Code Online (Sandbox Code Playgroud)

android android-animation

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

如何在 Android 中显示带有百分比的 ProgressBar 示例

我有一项任务是ProgressBar在其上添加带有百分比值的值,以在用户想要预测某些内容时显示一个值。我没有使用,ProgressDialog因为它现在已被弃用。此处,百分比值取决于从请求开始到完成所用的时间。我正在使用Volley从服务器获取数据。

这是我要实现的目标的示例图像:

ProgressBar 百分比值

我已经这样做了

我在警报对话框中实现了一个水平进度条(我使用这种方式是因为进度对话框已被弃用)。我想像这样设置进度条。

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    view =  inflater.inflate(R.layout.fragment_result_prediction, container, false);
    predictProgress = (ProgressBar) view.findViewById(R.id.progressbarPredict);
    AlertDialog.Builder(view.getContext());
    builder.setCancelable(false); // if you want user to wait for some process to finish,
    View v = inflater.inflate(R.layout.layout_loading_dialog, null);
    builder.setView(v);
    final AlertDialog dialog = builder.create();
    submitPredictPlant.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
                dialog.show();
                predictProgress.setProgress(25);
                predictProgress.setProgress(50);
                predictProgress.setProgress(75);
                predictProgress.setProgress(100);
                dialog.dismiss();
Run Code Online (Sandbox Code Playgroud)

当进度为 100 时,我想关闭对话框。但这会出现类似错误

java.lang.NullPointerException: Attempt …
Run Code Online (Sandbox Code Playgroud)

android android-progressbar progress-bar

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

Osmdroid在标记内插入文本

我如何在Osmdroid标记内插入文本?假设我需要在地图上放置几个标记,每个标记应该在其中有数字.在此输入图像描述我怎么能做到的?我尝试#setTitle()方法,但是把文本放在气球中.

更新:

for(int i = 0; i < orders.size(); i++) {
    mOrderPoint = orders.get(i).getStart();
    final Order order = orders.get(i);
    Marker orderMarker = new Marker(mMap);
    orderMarker.setIcon(ContextCompat.getDrawable(mContext,R.drawable.order_pin));
    orderMarker.setPosition(mOrderPoint);
}
Run Code Online (Sandbox Code Playgroud)

android osmdroid

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