我知道如何使用View.getRootView()获取根视图.我也能从一个按钮的onClick
事件中获取视图,其中参数是一个视图.但是如何在活动中获取视图?
这种方法的主要目的是什么setTag()
及getTag()
的View
类型的对象?
我是否正确地认为我可以将任意数量的对象与单个视图相关联?
我的应用程序底部有一个垂直滑动抽屉.当软键盘打开时,它会向上推动抽屉的标签,使其位于键盘顶部.我实际上希望它保持在屏幕的底部,当键盘显示时隐藏.
其他人遇到这个问题?知道如何解决它吗?
Oracle中的视图和物化视图有什么区别?
如何动画Android上视图背景颜色的变化?
例如:
我有一个红色背景颜色的视图.视图的背景颜色变为蓝色.如何在颜色之间进行平滑过渡?
如果无法通过视图进行此操作,则欢迎使用其他选项.
我试着做自定义组件.我扩展了View
课程并用onDraw
覆盖方法做了一些绘图.为什么我需要覆盖onMeasure
?如果我没有,一切都被证明是正确的.有人可以解释一下吗?我该怎么写我的onMeasure
方法?我见过几个教程,但每个教程都有点不同.有时他们会super.onMeasure
在最后打电话,有时他们会使用setMeasuredDimension
而不是打电话.差异在哪里?
毕竟我想要使用几个完全相同的组件.我将这些组件添加到我的XML
文件中,但我不知道它们应该有多大.我希望稍后设置它的位置和大小(为什么我需要在自定义组件类时设置大小,onMeasure
如果在onDraw
我绘制它时也是如此).什么时候我需要这样做?
我正在尝试使用Java(而不是XML)创建一个LinearLayout,其中的按钮可以填充屏幕并具有边距.这是没有边距的代码:
LinearLayout buttonsView = new LinearLayout(this);
buttonsView.setOrientation(LinearLayout.VERTICAL);
for (int r = 0; r < 6; ++r) {
Button btn = new Button(this);
btn.setText("A");
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); // Verbose!
lp.weight = 1.0f; // This is critical. Doesn't work without it.
buttonsView.addView(btn, lp);
}
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
setContentView(buttonsView, lp);
Run Code Online (Sandbox Code Playgroud)
这样工作正常,但你怎么给按钮边距,所以它们之间有空间?我尝试过使用LinearLayout.MarginLayoutParams
,但是没有weight
成员,所以没有用.如果你lp
在它的构造函数中传递它也不起作用.
这不可能吗?因为它确实看起来,并且它不会是第一个Android布局任务,你只能用XML做.
我正在尝试使用Fragment ViewPager
使用FragmentPagerAdapter
.我想要实现的是将位于第一页上的片段替换为另一片段ViewPager
.
寻呼机由两页组成.第一个是FirstPagerFragment
,第二个是SecondPagerFragment
.单击第一页的按钮.我想FirstPagerFragment
用NextFragment 替换它.
我的代码如下.
public class FragmentPagerActivity extends FragmentActivity {
static final int NUM_ITEMS = 2;
MyAdapter mAdapter;
ViewPager mPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_pager);
mAdapter = new MyAdapter(getSupportFragmentManager());
mPager = (ViewPager) findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
}
/**
* Pager Adapter
*/
public static class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return NUM_ITEMS;
}
@Override
public Fragment getItem(int …
Run Code Online (Sandbox Code Playgroud) 我想设置一个视图的背景可绘制.有两种方法(据我所知):setBackground
和setBackgroundDrawable
.
当我使用时setBackground
,它表示它已经在API级别16中添加,但我的项目的最小SDK版本是7.我认为它不适用于16以下的任何东西,我是对的吗?但是当我使用setBackgroundDrawable时,它表示它已被弃用.
我应该用什么?