现在我有了这个片段,我想使用setContentView,但到目前为止我无法找到.您可以在下面的代码中看到我的情况,我不是试图给布局充气,我试图将它与名为SampleView的视图一起使用.那我该怎么办呢?提前致谢
public class largeImageScroller extends SherlockFragment {
// Physical display width and height.
private static int displayWidth = 0;
private static int displayHeight = 0;
/** Called when the activity is first created. */
public View onCreateView(LayoutInflater inflater, ViewGroup group, Bundle saved) {
getActivity();
// displayWidth and displayHeight will change depending on screen
// orientation. To get these dynamically, we should hook onSizeChanged().
// This simple example uses only landscape mode, so it's ok to get them
// once on …Run Code Online (Sandbox Code Playgroud) 我在自定义视图中有这个方法,它扩展了FrameLayout:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
int currentItem = vp.getCurrentItem();
if (inDragPanelZone(currentItem, ev.getX(), ev.getY()) && ev.getAction() == MotionEvent.ACTION_DOWN) {
if (!shouldAllowPaging()) {
return true;
}
vp.setPagingEnabled(true);
}
return super.dispatchTouchEvent(ev);
}
Run Code Online (Sandbox Code Playgroud)
偶尔 - 我得到以下例外:
java.lang.IllegalArgumentException: pointerIndex out of range
at android.view.MotionEvent.nativeGetAxisValue(Native Method)
at android.view.MotionEvent.getX(MotionEvent.java:1995)
at android.support.v4.view.MotionEventCompatEclair.getX(MotionEventCompatEclair.java:32)
at android.support.v4.view.MotionEventCompat$EclairMotionEventVersionImpl.getX(MotionEventCompat.java:86)
at android.support.v4.view.MotionEventCompat.getX(MotionEventCompat.java:210)
at android.support.v4.view.ViewPager.onTouchEvent(ViewPager.java:1734)
at android.view.View.dispatchTouchEvent(View.java:5710)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1951)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1712)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)
at MyView.dispatchTouchEvent(DraggablePane.java:176)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1918) …Run Code Online (Sandbox Code Playgroud) ImageView有两种方法相关的方法:setAlpha和setImageAlpha.前者从API级别1开始可用,但从级别16开始不推荐使用.后者从16级开始可用.还有另一个setAlpha方法,来自View类,这是在API级别11中引入的.
ImageView#setAlpha和ImageView#setImageAlpha之间的区别仅在于命名吗?有任何行为差异吗?View#setAlpha和ImageView#setAlpha之间的关系是什么?
每当我创建类似Button和TextView中的视图时ConstraintLayout,它们都会卡在顶角而不是我放置的位置.
我尝试创建新活动并更改模拟器,但结果仍然相同.
这是正在发生的事情的屏幕截图:
可能是什么问题?
android android-layout android-view view-hierarchy android-constraintlayout
我已经开始研发应用了.我昨天建立了菜单但是onClick方法不起作用!我创建了一个扩展View并调用她的MainMenuObject的类 - 该类用于主菜单中的任何对象(按钮,徽标等).我为他们创建了一个特殊的类,因为我在菜单启动时正在做动画.在我构建了MainMenuObject类后,我构建了另一个扩展View的类(OpeningTimesView),它将包含主菜单的所有按钮,并将作为主要活动的布局.
一切都很好,动画非常好,我想把听众放在我的按钮上,所以我在onClickListener上添加了一个实现onClickListener,并覆盖了onClick方法.然后我用setOnClickListener(this)和setClickable(true)将监听器添加到按钮,但它不起作用!我已经尝试了一切!请帮我弄清楚我做错了什么.我已经为onClick方法添加了一个toast,它不依赖于任何"if",但它不会显示.
(BTW有没有办法将屏幕宽度和高度定义为所有类都可以访问的变量?它不能是静态的,因为你从显示对象获得高度和宽度但必须有另一种方式)
这是代码:
public class OpeningTimesView extends View implements OnClickListener{
private MainMenuObjectView searchButton;
private MainMenuObjectView supportButton;
private MainMenuObjectView aboutButton;
private int screenWidth;
private int screenHeight;
public OpeningTimesView(Context context, Display dis) {
super(context);
this.screenWidth = dis.getWidth();
this.screenHeight = dis.getHeight();
searchButton = new MainMenuObjectView(context, 200, MovingMode.RIGHT, R.drawable.search, dis);
supportButton = new MainMenuObjectView(context, 400, MovingMode.LEFT, R.drawable.support, dis);
aboutButton = new MainMenuObjectView(context, 600, MovingMode.RIGHT, R.drawable.about, dis);
searchButton.setClickable(true);
supportButton.setClickable(true);
aboutButton.setClickable(true);
searchButton.setOnClickListener(this);
supportButton.setOnClickListener(this);
aboutButton.setOnClickListener(this);
}
@Override
public void onClick(View view){
Toast.makeText(getContext(), "Search button …Run Code Online (Sandbox Code Playgroud) 我在视图上使用getX()和getY()方法来获取一些特殊的拖动逻辑(不是动画,即我从不使用setX/Y方法,我只需要getter来检查).
但是,我已经意识到这些仅在API 11之后可用.
getX()的文档说是添加了'left'属性和'translationX'属性.一切都很好,除了get/setTranslationX()以及API 11之后.
我想知道是否有任何关于这种方法在幕后返回的知识,所以我可以提出一个解决方法.
我需要在视图分页器文件中获取包含图像的页面指示符.这是我的代码.
public class IndicatorActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MyPagerAdapter adapter = new MyPagerAdapter();
ViewPager myPager = (ViewPager) findViewById(R.id.pager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);
TitlePageIndicator indicator = (TitlePageIndicator)findViewById(R.id.indicat);
indicator.setViewPager( myPager );
}
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我得到一个错误 TitlePageIndicator indicator = (TitlePageIndicator)findViewById(R.id.indicat);的TitlePageIndicator cannot be resolved to a type.这是什么错误.我该如何解决?
这是我的xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<com.viewpagerindicator.TitlePageIndicator
android:id="@+id/indicat"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
</LinearLayout> …Run Code Online (Sandbox Code Playgroud) android activity-indicator android-view android-viewpager viewpagerindicator
请考虑以下示例:
<LinearLayout>
<EditText />
<Button />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
并在清单文件中:
android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)
onfocus edittext,软键盘覆盖如下按钮:

但我喜欢这样:

如何滚动视图以使按钮可见?
扩展Android ViewGroup类时,onLayout()覆盖的目的是什么?我在Android中进行自定义控件但由于某种原因,内容(子View对象)没有显示.我的方法是扩展ViewGroup类,通过addView()ViewGroup 的方法添加子视图.然后,在我的主要活动中,我有以下代码:
ChannelController myCC = new ChannelController(this);
setContentView(myCC);
Run Code Online (Sandbox Code Playgroud)
ChannelController是我的自定义类的名称,它扩展了ViewGroup.我必须做错事,因为屏幕上没有显示任何内容.
我知道我必须覆盖并实现onLayout()方法,但是用什么?我知道在dev.android网站上有一整页专门用于此,但它对我没有多大帮助,主要是因为我认为我是新手.任何见解将不胜感激.
作为参考,我的ViewGroup扩展如下所示:
public class ChannelController extends ViewGroup {
final String TAG = "JAL";
public ChannelController(Context c)
{
super(c);
init(c);
}
public ChannelController(Context c, AttributeSet attibset)
{
super(c);
init(c);
}
public ChannelController(Context c, AttributeSet attribset, int defStyle)
{
super(c);
init(c);
}
public void init(Context c)
{
//RelativeLayout wrap = new RelativeLayout(c);
RelativeLayout.LayoutParams wrapLP = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
RelativeLayout r1 = new RelativeLayout(c);
RelativeLayout.LayoutParams r1LP …Run Code Online (Sandbox Code Playgroud) 我需要在我的片段中绘制三个圆圈,圆圈的大小不同,我引用此链接 我获得的结果是这个

这是我的XML代码:UPDATED
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" >
<TextView
android:id="@+id/large_volume"
android:layout_width="185dp"
android:layout_height="185dp"
android:background="@drawable/circle"
android:gravity="center"
android:text="My name is NON"
android:textColor="#FFFFFF"
android:textSize="10dp" />
<TextView
android:id="@+id/medium_volume"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_alignTop="@+id/large_volume"
android:layout_toRightOf="@+id/large_volume"
android:background="@drawable/circle"
android:gravity="center"
android:text="My name is NON"
android:textColor="#FFFFFF"
android:textSize="10dp" />
<TextView
android:id="@+id/TextView02"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_below="@+id/medium_volume"
android:layout_toRightOf="@+id/large_volume"
android:background="@drawable/circle"
android:gravity="center"
android:layout_marginTop="-3dp"
android:layout_marginLeft="-17dp"
android:text="My name is NON"
android:textColor="#FFFFFF"
android:textSize="10dp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
但我需要的是这样的 
你可以看到圈子必须紧密相连,但是当我使用XML视图时,我无法实现这一点.我怎样才能实现这一点,我需要onClickListeners在我的圈子中这就是为什么我使用视图
这可以通过Canvas绘图实现,我听说画布不是视图所以这会限制我给点击听众,如果我错了纠正我
更新:
我通过XML方法满足了我的需求,有没有办法通过画布绘图实现这一点,我应该发布另一个问题吗?