Articles of android layout

我想通过我的应用程序在主布局背景中设置保存在SD卡上的图像

我正在创建一个应用程序,我想在主xml linearlayout中设置不同的背景图像。我已经在SD卡上存储了5个图像文件。现在我想选择一张图片并将其设置为我的maim xml linearlayout background.so它将取代上一张图像并将新图像显示为背景。

Android:在API级别9中使用PopupMenu

我想在我的应用程序中添加一个PopupMenu。 问题是它也适用于Android 2.3。 我发现一些post,人们建议使用AlertDialog作为替代,但我更喜欢PopupMenu;) 我认为它应该在这个API级别工作,因为我已经在几个应用程序中看到它(我的手机有2.3.5并且它工作正常)。 是否有可能使这项工作?

如何在Android中的TabLayout中将选项卡标题对齐到左侧

我似乎无法将我的标题标题对齐在我的TabLayout内部左侧。 目前,标题是中心的。 这就是我想要实现的目标。 这就是我现在所拥有的。 我正在使用的代码如下:

是否可以在xml中保存layout_weight?

我需要根据屏幕的物理大小更改布局中3个视图的layout_weight。 视图的权重为0-1-0,但在xlarge屏幕中使用布局时,这必须更改为0.2-0.6-0.2。 我尝试在dimension.xml的不同副本中保存layout_weight(一个在values / dimensions中,另一个在values-xlarge / dimensions中),但看起来我不能在没有设置dp / px或w / e的情况下给出一个维度(无法保存“原始”数字,如1或0.2)。 有可能以某种方式通过xml做,或者我必须以编程方式工作才能实现这一目标吗?

为什么findViewById(…)返回null?

findViewById在ImageView小部件上为我返回null。 没有错误,logcat中没有任何内容表明发生了什么。 正确设置了id的匹配和其他图像视图。 Java和xml由xml中的class标记链接,指向java中定义的类,它是RelativeLayout的后代。 我尝试更改R.id.more_icon1的名称,但这不起作用。 尝试清洁,但没有奏效。 使用调试器来查看它确实只是移动过去以及何时返回mMoreIcon == null。 什么是奇怪的是, 其他ImageView的工作正常。 有人见过这个或有任何想法吗? Java代码:Class是RelativeLayout的后代 @Override protected void onFinishInflate() { super.onFinishInflate(); mText1 = (TextView) findViewById(R.id.text1); mText2 = (TextView) findViewById(R.id.text2); mIcon1 = (ImageView) findViewById(R.id.icon1); mIcon2 = (ImageView) findViewById(R.id.icon2); // mMoreIcon is the one that gets set as null. mIcon1 and mIcon2 work just fine. mMoreIcon = (ImageView) findViewById(R.id.more_icon1); […]

如何把50%的宽度

我有一个水平方向的LinearLayout和2个ImageView,我想让ImagesView在宽度上填充50%的屏幕,适用于每个手机或平板电脑的不同尺寸。 像这样的东西: +————-+ |_____________| | | | | 50% | 50% | | | | |————-| | | +————-+ 迄今为止最好的:

自定义样式listdivider

我正在尝试将默认的ListView列表分隔符设置为在两边都有空白边距。 我已经尝试设置整个ListView的边距,但是没有创建所需的结果。 我拥有的: 我想做什么(注意分隔线两侧的边距): 这样做的最佳方式是什么? 提前致谢!

ActionbarSherlock – 横向无响应的选项卡

我目前正在向我的应用程序移植,使其在3.0之前的设备上使用actionbarsherlock。 如果用户以纵向模式启动应用程序,然后旋转屏幕并尝试选择选项卡,则在用户执行其他操作之前不会发生任何操作。 执行此操作的当前版本可以在此处下载(sherlock-alpha1) http://tinyurl.com/cz95nup 。 选项卡按以下方式添加 bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); bar.addTab(bar.newTab().setText(“tab1”).setTabListener(this),false); bar.addTab(bar.newTab().setText(“tab2”).setTabListener(this),false); bar.addTab(bar.newTab().setText(“tab3”).setTabListener(this),false); 如果以横向方式启动应用程序,然后在纵向模式下使用它(纵向选项卡将不起作用),也会发生这种情况。 它在运行本机操作栏的设备上运行正常。

如何使片段荣誉软输入模式的活动

我在清单中配置了如下活动: android:windowSoftInputMode=”stateHidden|adjustPan” 此活动创建一个片段。 该片段将自身配置为onCreate()中的全屏,例如: setStyle(DialogFragment.STYLE_NO_FRAME, android.R.style.Theme); 片段的布局大致如下: 不幸的是,当显示片段时,软键盘会自动显示,输入模式为“adjustResize”而不是“adjustPan”。 这会导致页脚始终可见; 当键盘显示时,ScrollView的高度会缩小。 如何配置片段以具有“stateHidden | adjustPan”行为? 如果重要的话,我从支持库中获取片段function。

扩展工具栏的工具栏按钮重力

我试图在我的扩展工具栏中设置我的后导航图标的位置,如下所示: 检查工具栏的来源,我们可以看到以下内容: private void ensureNavButtonView() { if (mNavButtonView == null) { mNavButtonView = new ImageButton(getContext(), null, R.attr.toolbarNavigationButtonStyle); final LayoutParams lp = generateDefaultLayoutParams(); lp.gravity = GravityCompat.START | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK); mNavButtonView.setLayoutParams(lp); } } 通过分配mButtonGravity位置 mButtonGravity = a.getInteger(R.styleable.Toolbar_buttonGravity, Gravity.TOP); 因此,如果没有配置任何内容,我的工具栏的重力应该已经是Gravity.TOP 。 但它看起来像这样: