我有一个自定义视图,将文本绘制到画布上.我想将Font更改为assets文件夹中存储的字体.
我正在使用Android Studio,因此我创建了一个文件夹src/main/assets并将我的ttf文件放在那里.
Paint txt = new Paint()
Typeface font = Typeface.createFromAsset(getAssets(), "robotobold.ttf");
txt.setTypeface(font);
Run Code Online (Sandbox Code Playgroud)
问题是Android Studio无法识别我的自定义视图中的getAssets(),但它在我的Activity中识别它.我试过从我的Activity中传递Typeface但是当我这样做时它不会改变字体.
我有一个自定义布局,可以根据触摸输入绘制一条线.我有它绘制线条但是当用户触摸屏幕时,线条会消失并且它会绘制一条新线条.我想要它做的是绘制一条新线并将前一条线留在那里.这是我的代码:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
public class DrawView extends View {
Paint paint = new Paint();
float startX;
float startY;
float stopX;
float stopY;
public DrawView(Context context, AttributeSet attrs) {
super(context, attrs);
paint.setAntiAlias(true);
paint.setStrokeWidth(6f);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawLine(startX, startY, stopX, stopY, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX();
startY = event.getY();
return true;
case …Run Code Online (Sandbox Code Playgroud) 我有一个D3网络图,我试图禁用双击缩放功能.我使用它进行缩放:
var zoom = d3.behavior.zoom().scaleExtent([minZoom, maxZoom]);
zoom.on("zoom", function() {
g.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");
});
svg.call(zoom)
Run Code Online (Sandbox Code Playgroud)
但是我似乎无法禁用双击缩放.当我使用下面的代码时,它会完全禁用缩放.
var zoom = d3.behavior.zoom().scaleExtent([minZoom, maxZoom]);
zoom.on("zoom", function() {
g.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")").on("dblclick.zoom", null);
});
svg.call(zoom)
Run Code Online (Sandbox Code Playgroud)
我也试过打电话
.on("dblclick.zoom", null)
Run Code Online (Sandbox Code Playgroud)
在svg元素本身,这也不起作用.任何帮助将非常感激.
我有一个JSON对象
var obj = {"firstName":"John", "lastName":"Doe"}
Run Code Online (Sandbox Code Playgroud)
我可以使用obj.firstName等返回值.但在我的情况下,我可能不知道标题的名称,但我知道它的位置.有没有办法可以使用它的位置返回值?例如obj.1
我有一个阵列
var n = ["Joe", "Peter", "Mary", "Chris", "Dave", "Sally", "Pat", "John", "Larry", "Andrew"];
Run Code Online (Sandbox Code Playgroud)
我想为数组中的每个字符串创建一个变量,即
var Joe;
var Peter;
var Mary;
Run Code Online (Sandbox Code Playgroud)
我为MatLab 遇到过这个问题,但有没有办法用Javascript做到这一点?
这是我怎么想这样做的小提琴,但显然它不起作用!