小编Nei*_*ers的帖子

在measure()之后返回0的getMeasuredHeight()和宽度

我真的很困惑android为布局做的整个测量事情.基本上,我想在布局之前得到视图的实际计算高度和宽度.我需要得到计算出的高度和宽度,因为我有一个隐藏的LinearLayout,我想在使用viewpropertyanimator打开时动画.我需要在动画制作动画之前向动画师提供目标宽度(计算出的宽度).此布局的宽度是动态的,因为它依赖于android:weight宽度的参数,所以我不能给出静态值.

这是我的活动课:

package com.example.testproject;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;

public class TestActivity extends Activity
    {

    private LinearLayout gmailListContainer, yahooMailListContainer, windowsLiveListContainer;
    private LinearLayout emailMessageContainer;

    private Display display;



    @Override
    protected void onCreate(Bundle savedInstanceState)
        {
        super.onCreate(savedInstanceState);

        this.setContentView(R.layout.activity_test);

        gmailListContainer = (LinearLayout) this.findViewById(R.id.email_activity_gmail_layout);
        yahooMailListContainer = (LinearLayout) this.findViewById(R.id.email_activity_yahoo_mail_layout);
        windowsLiveListContainer = (LinearLayout) this.findViewById(R.id.email_activity_windows_live_layout);
        emailMessageContainer = (LinearLayout) this.findViewById(R.id.email_activity_email_content_layout);

        gmailListContainer.setBackgroundColor(Color.CYAN);
        yahooMailListContainer.setBackgroundColor(Color.MAGENTA);
        windowsLiveListContainer.setBackgroundColor(Color.GREEN);
        emailMessageContainer.setBackgroundColor(Color.RED);

        display = getWindowManager().getDefaultDisplay();

        setMeasuredDimensions();
        }

    private void setMeasuredDimensions()
        {
        View v …
Run Code Online (Sandbox Code Playgroud)

android android-layout

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

Android:具有可点击网格项和嵌套视图的网格视图(按钮,复选框)

基本上,我想实现一个GridView项目本身是可点击的,但在GridView可点击的Buttons和Checkboxes内.

这是一个示例布局:

Gridview
-----------------------------------------
|[ImageView]        |[ImageView]        |
|[TextView]         |[TextView]         |
|[Button][Checkbox] |[Button][Checkbox] |
-----------------------------------------
|[ImageView]        |[ImageView]        |
|[TextView]         |[TextView]         |
|[Button][Checkbox] |[Button][Checkbox] |
-----------------------------------------
Run Code Online (Sandbox Code Playgroud)

基本上,我想要做的是,当用户点击时CheckBox,现在可以从中选择多个项目GridView.当用户点击时Button,Popup会显示A. 当用户点击其他任何地方时,将Activity启动新的.这一点的重点不是长按以显示上下文菜单,我想要一个按钮取代它的位置.

关于如何处理这种情况的任何建议?在我当前的设置中,如果我Button在适配器的GetView()方法中添加,只有Button可点击.整个GridView项目无法点击.当我删除时Button,该GridView项目可以再次点击.它似乎只是整个GridView项目或Button可点击(响应OnClickListener().有没有办法让它们都可点击?

android gridview

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

标签 统计

android ×2

android-layout ×1

gridview ×1