小编Tia*_*sil的帖子

Android:'dp'到'px'转换?

我正在阅读这篇文章:http://developer.android.com/guide/practices/screens_support.html

它说Android用于在dp单位到px单位之间转换的公式如下:

    px = dp * (dpi / 160)
Run Code Online (Sandbox Code Playgroud)

文章还给出了一个例子,当dpi为240时,它给出了px = 1.5(我正在计算单个dp像素)

但是,1.5究竟是什么意思呢?一旦px单位实际上是物理设备像素,Android会绘制1或2像素吗?

user-interface android

12
推荐指数
1
解决办法
5913
查看次数

Android - 调用GONE然后VISIBLE使视图显示在错误的位置

我有两个视图,A和B,视图A在视图B上方(都是线性布局).

当我以编程方式将视图A设置为GONE时,它将消失,并且它正下方的视图(B)将转到视图A的位置(如预期的那样).

但是,当我再次将相同的视图(A)设置为VISIBLE时,它将显示在视图B上.我不希望这样.我希望视图B回到原来的位置(在视图A下面),这是我认为会发生的事情(但事实并非如此).我怎样才能做到这一点?

先感谢您!

编辑 - 代码

package com.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.ScaleAnimation;
import android.view.animation.Transformation;
import android.widget.LinearLayout.LayoutParams;

public class ViewGoneEffectActivity extends Activity implements OnClickListener {

private View viewComEfeito = null;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    findViewById(R.id.outroLinear).setOnClickListener(this);
    findViewById(R.id.segundo).setOnClickListener(this);

    viewComEfeito = findViewById(R.id.outroLinear);
}

@Override
public void onClick(View view) {

    if (view.getId() == R.id.outroLinear) {

        view.startAnimation(new MyScaler(1.0f, 1.0f, 1.0f, 0.0f, 500, view,
                true));


    }else if(view.getId() == R.id.segundo){
        viewComEfeito.setVisibility(View.VISIBLE);
    }
}

public class MyScaler extends …
Run Code Online (Sandbox Code Playgroud)

user-interface android visibility view

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

Android - 如何在 UI 线程之外设置 View.GONE?

我想让视图在用户按下按钮时消失(消失)。

我可以通过执行以下操作将其放入onCreate()方法(主 UI 线程)中:

findViewById(R.id.llLoadingGallery).setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够在另一个线程(主 UI 线程之外)中执行相同的操作。我尝试将上述内容放入我的线程中,但没有成功。

先感谢您!

## 编辑 ####

为了让自己更清楚,我想做这样的事情:

        @Override
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.teste_aba_3);

    botao_tab_musica.setOnClickListener( new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            ...
        findViewById(R.id.llLoadingGallery).setVisibility(View.GONE);
        }
    });
Run Code Online (Sandbox Code Playgroud)

}

然而,这不起作用!我怎样才能解决这个问题?

android visibility view ui-thread

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

标签 统计

android ×3

user-interface ×2

view ×2

visibility ×2

ui-thread ×1