相关疑难解决方法(0)

测量片段中的视图

我需要知道ImageView的宽度和高度.有没有办法在片段中测量它?在标准Activity中我使用:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    image.getWidth();
    image.getHeight();
}
Run Code Online (Sandbox Code Playgroud)

但是我可以在哪里使用image.getWidth();image.getHeight();片段?

android android-lifecycle android-fragments

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

ViewPager不支持layout_height = wrap_content

我正在使用以下布局构建一个Android应用程序.应用布局

众所周知,layout_height="wrap_content"这对ViewPager不起作用.

我的问题是如何动态地改变它.ViewPager的内容是从两个xml布局中膨胀的,vp_statistics.xml and vp_campaigns.xml.

这是ViewPager的xml

<LinearLayout
            android:id="@+id/topcontent_wrapper"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="vertical" >
</LinearLayout>

<LinearLayout
            android:id="@+id/viewpager_wrapper"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="vertical" >

            <android.support.v4.view.ViewPager
                android:id="@+id/viewpager"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是我的PagerAdapter的代码

class MyPagerAdapter extends PagerAdapter{

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return 2;
}

public Object instantiateItem(View collection, int pos){
    LayoutInflater inflater =     (LayoutInflater)collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    int resId = 0;
    switch(pos){
    case 0:
        resId = R.layout.vp_statistics;
        break;
    case 1:
        resId = R.layout.vp_campaigns;
        break;
    }

    View view = inflater.inflate(resId, …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

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

如何在后台滚动更宽的图像

就像LinkedIn前三个屏幕一样

  1. 登录/注册按钮
  2. 登录/注册表格

所有都具有与背景相同的图像,但是当我们从一个活动移动到另一个活动时,背景图像从右侧滚动到左侧.

我只能尝试,overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right); 但这不是它的样子.

在此输入图像描述

在此输入图像描述

在此输入图像描述

android android-layout

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

ActivityRecord的活动空闲超时

所以我有一个奇怪的问题,我不完全确定我应该提供的所有信息,但我会尽我所能 - 如果我需要添加更多信息,请告诉我.我有,当我完成我的一个问题Activity,并返回到前一个Activity(或一个新的启动它Intent-这个问题似乎在整理为中心Activity)的UI性能急剧下降约六,七秒钟,然后返回到正常.

LogCat,此警告始终显示:

07-11 22:09:42.594: W/ActivityManager(292): Launch timeout has expired, giving up wake lock!
07-11 22:09:42.601: W/ActivityManager(292): Activity idle timeout for ActivityRecord{42bf6e00 com.kcoppock.sudokubeta/com.kcoppock.sudoku.SudokuBoardActivity}
Run Code Online (Sandbox Code Playgroud)

一旦活动超时,UI性能就会恢复正常.在那之前,它非常缓慢.我没有可以阻止主线程的代码,我甚至已经注释掉了我的整个onPause()方法,看它是否有任何区别,但事实并非如此.

Activity没有任何产卵后台线程,不执行任何网络活动,它具有唯一的磁盘访问的一些访问SharedPreferences.我之前能够找到的问题是关于空闲超时HistoryRecord,而不是ActivityRecord.

任何想法会导致什么?或者我如何确定阻止UI线程的内容,如果发生了什么?

编辑:好的,只是尝试注释掉除super.onCreate()和setContentView()之外的所有内容 - 问题仍然存在.它不与任何其他活动,但这个发生,但有什么可这一个.:/

performance android android-activity android-activityrecord

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

onCreate()中的getLocationOnScreen()只返回零

在对单击按钮的响应中,在ImageView(或其他视图)上调用getLocationOnScreen()会给出正确的值.

但是当从Activity :: onCreate()调用getLocationOnScreen()时,我只得到[0,0].我怎样才能解决这个问题?

是否onCreate()太早,无法进行所有计算?有没有一个更好的地方可以挂钩开始动画?

android

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

获取视图位置的方法返回0

这个问题已被多次询问,但是每个人都给出了为什么会出现这种问题的原因(即在布局布局之前进行计算).但我需要解决方案.我试过getBottom();,getTop();,getLocationOnScreen(int[] location);.但是所有返回零值(0).我甚至尝试过这些onStart();,给予时间布局,但没有运气.这是我的代码:

TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    tv = (TextView) findViewById(R.id.textView1);
    Log.d("getBottom   :", Integer.toString(tv.getBottom()));
    Log.d("gettop      :", Integer.toString(tv.getTop()));

    int[] location = new int[2];
    tv.getLocationOnScreen(location);
    Log.d("getlocationonscreen values :", Integer.toString(location[0])+"  "+Integer.toString(location[1]));
}
@Override
protected void onStart() {
    Log.d("getBottom in onStart :", Integer.toString(tv.getBottom()));
    Log.d("gettop in onStart    :", Integer.toString(tv.getTop()));

    int[] location = new int[2];
    tv.getLocationOnScreen(location);
    Log.d("getlocationonscreen in onStart :", Integer.toString(location[0])+"  "+Integer.toString(location[1]));
    super.onStart();
}
Run Code Online (Sandbox Code Playgroud)

布局XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" > …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-layout

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

选项菜单的宽度和高度?

有没有办法获得Options MenuDPI(或任何其他测量)的宽度和高度?

android

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

在按钮上方显示textview而不用xml中的高度编码

我正在显示一个textview(我打算将其填满整个屏幕,不包括它下面的按钮)和一个活动中的按钮(底部的小按钮).我想将textview放在按钮上.我不想硬编码任何高度/宽度.

因此,对于按钮,我将高度广告宽度保持为word_wrap对于textview,我将宽度保持为填充父级.

我想知道的是,无论如何,我可以指定textview高度为screenheight-button高度.我想在xml文件中使用它,但在我的代码中不是dnamically.

android

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

获取TextView的高度

我有一些文字将被放入TextView.我这样做了setText().

现在我需要找到文本占用的行数或高度TextView.我尝试过使用getHeight(),但它总是返回0.

反正有没有得到文本的高度TextView

java android textview

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

计算ListView的每一行的高度

我试图使用ListView创建ListView滚动的背景.我的方法是基于货架上的这个课程,但在货架上一切都有相同的高度,我无法做出同样的保证.

我有这样的活动:

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView listView = (ListView) findViewById(R.id.listView);

        List<String> items = new ArrayList<String>();
        for(int i=0; i < 100; ++i) {
            items.add("Hello " + i);
        }
        CustomArrayAdapter adapter = new CustomArrayAdapter(this, items);

        listView.setAdapter(adapter);
    }
}
Run Code Online (Sandbox Code Playgroud)

CustomArrayAdapter的位置是:

public class CustomArrayAdapter extends ArrayAdapter<String> {
    private List<Integer> mHeights;

    public View getView(int position, View convertView, ViewGroup parent) {
        //snip
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是在适配器中使用视图行的高度填充mHeights.

我的主要尝试是在getView()中执行此操作:

if(row.getMeasuredHeight() == 0) {
    row.measure(
        MeasureSpec.makeMeasureSpec(0, MeasureSpec.EXACTLY), …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-listview

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