我真的很困惑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) 基本上,我想实现一个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().有没有办法让它们都可点击?