小编dfe*_*r88的帖子

Android手机上最受欢迎的屏幕尺寸/分辨率

我了解Android的开发者网站提供了有关此主题的信息.我已经阅读了以下三页:

他们没有提供我正在寻找的信息/统计数据.从第二个链接来看,支持的两个最重要的屏幕类别是normal-hdpinormal-mdpi.

问题是,仅仅知道这两个类别最受欢迎对我没有帮助.该网站为我提供了这些类别的屏幕尺寸和密度范围,但范围非常大.

我想知道这两个类别中最流行的手机是什么.更具体地说,我正在寻找这两个类别中最受欢迎的决议.

android screen-resolution screen-size

163
推荐指数
7
解决办法
43万
查看次数

自定义后退按钮动画

Back按下按钮时的默认动画是从左到右的幻灯片.我想用自定义动画替换它.我目前正在考虑某些组合onBackPressed()overridePendingTransition将会做到这一点,但我无法让它发挥作用.

android

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

如何在onDraw方法之外获取自定义视图的画布大小?

我需要能够访问视图画布的大小来执行一些计算.由于某种原因,传递给的视图onSizeChanged的大小不同于传递给的画布的大小onDraw.我当前的解决方法使用布尔标志来确定何时需要进行计算.

理想的解决方案将允许我在onSizeChanged方法中进行这些计算,所以我想知道......有什么办法可以CanvasonDraw方法之外得到对象(或者至少它的维度)吗?

我的代码如下.它以给定角度绘制圆的半径.当我canvas.centerX()用来确定半径的起点和终点时,一切都很完美.如果我使用传入的参数onSizeChanged,它甚至远程接近正确.

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
  super.onSizeChanged(w, h, oldw, oldh);
  mSizeChanged = true;
}

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

  if (mSizeChanged) {
    RectF bounds = new RectF(canvas.getClipBounds());
    float centerX = bounds.centerX();
    float centerY = bounds.centerY();
    float radianAngle = (float) Math.toRadians(mStartAngle);

    mRadius[0] = center;
    mRadius[1] = center;
    mRadius[2] = center + center * FloatMath.cos(radianAngle);
    mRadius[3] = …
Run Code Online (Sandbox Code Playgroud)

android view custom-view android-custom-view

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

AsyncTask的doInBackground(Params ... params)

我不熟悉参数语法 doInBackground(Params... params)

什么是这种类型的东西,我该如何利用它?

parameters syntax android android-asynctask

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

动态地将TableRow添加到TableLayout

单击按钮时,将运行以下方法:

public void createTableRow(View v) {
  TableLayout tl = (TableLayout) findViewById(R.id.spreadsheet);
  TableRow tr = new TableRow(this);
  LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
  tr.setLayoutParams(lp);

  TextView tvLeft = new TextView(this);
  tvLeft.setLayoutParams(lp);
  tvLeft.setBackgroundColor(Color.WHITE);
  tvLeft.setText("OMG");
  TextView tvCenter = new TextView(this);
  tvCenter.setLayoutParams(lp);
  tvCenter.setBackgroundColor(Color.WHITE);
  tvCenter.setText("It");
  TextView tvRight = new TextView(this);
  tvRight.setLayoutParams(lp);
  tvRight.setBackgroundColor(Color.WHITE);
  tvRight.setText("WORKED!!!");

  tr.addView(tvLeft);
  tr.addView(tvCenter);
  tr.addView(tvRight);

  tl.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
}
Run Code Online (Sandbox Code Playgroud)

R.id.spreadsheet是一个xml TableLayout.我可以从调试中看到正在访问该方法,但没有任何内容被绘制到屏幕上.是什么赋予了?我是否需要以某种方式重置内容视图?

android

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

Java - 在for循环中声明变量

在循环中声明一个变量是不好的做法?在我看来,这样做,如下面的第一个代码块所示,将使用十倍的内存作为第二个...由于在循环的每次迭代中创建一个新的字符串.它是否正确?

for (int i = 0; i < 10; i++) {
  String str = "Some string";
}
Run Code Online (Sandbox Code Playgroud)

String str;
for (int i = 0; i < 10; i++) {
  str = "Some String";
}
Run Code Online (Sandbox Code Playgroud)

java micro-optimization

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

Android手机上的后退按钮

关于后退按钮的几个问题(如模拟器上所示)......

  1. 所有的Android手机都有后退按钮作为坚硬的触觉按钮吗?

  2. 如果是这样,是否仍建议在软件中放置一个后退按钮?

  3. 按下此后退按钮时是否可以在活动之间更改动画?我希望它与我的应用程序中的动画一致.

android

15
推荐指数
1
解决办法
5647
查看次数

以编程方式将ARGB颜色应用于textview

我目前正在使用类似的东西:TextView.SetBackgroundColor(Color.WHITE);在我的java代码中.我希望能够通过java为textview添加一些透明度......这很容易通过#AARRGGBB格式在XML中完成,但我还没有找到一种方法来以编程方式完成此操作.

android colors argb

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

用于ArcShape的Android自定义动画

首先让我解释一下我的目标.我试图Animation改变一个属性ArcShape.一个ArcShape's构造函数有两个领域:startAnglesweepAngle.我想要制作动画sweepAngle,使其在屏幕上显示为一个不断缩小的圆圈.

您可以通过想象PacMan来拍摄这个动画.想象一下,他的嘴闭上了.这个动画将类似于他越来越多地打开他的上颌,直到没有更多的PacMan.

现在......我有一些实施这个问题.首先,一旦ArcShape创建了一个,就没有内置的方法来改变它sweepAngle.这让我想到了第一个问题:有没有办法覆盖ArcShape并实现某些setSweepAngle方法?或者我是否必须new ArcShape为每个sweepAngle我希望展示的内容创建一个?

现在转到第二个问题......假设我找到了第一个问题的解决方案,我怎么能创建它Animation呢?这是我现在所拥有的要点:

public class OpenPacman extends Animation {
  public OpenPacman(float startAngle, float sweepAngle) {
    mStartAngle = startAngle;
    mSweepAngle = sweepAngle;
  }

  @Override
  protected void applyTransformation(float interpolatedTime, Transformation t) {
    /* This represents the current sweepAngle */
    float currAngle = mStartAngle + ((mSweepAngle - mStartAngle) * interpolatedTime);

    //Now I need to update …
Run Code Online (Sandbox Code Playgroud)

java animation android

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

ExpandableListView - 条件扩展是否可行?

我有一个绑定到SQLite数据库的ExpandableListView.为简化起见,我们假设数据库包含两列:titlebody.在ExpandableListView中,group每个都有title一个child,每个对应一个body.

现在为了使事情变得更有趣,SQLite数据库中的一些行没有body(即......它们只有一个title).如您所见,如果没有正文,则没有理由扩展该组...因为子将为空(即String body == "").

我正在寻找一种方法来捕捉这样的情况,并跳过小组的扩张.我不希望一个空白的孩子被扩大.把它放在psuedo代码中,我想要这样的东西:

if (body.getText() == "") {
  //DO NOT EXPAND
  //DO OTHER STUFF
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

android expandablelistview

8
推荐指数
1
解决办法
4934
查看次数