Articles of android layout

如何正确地扩展布局类?

我想做一个自定义RelativeLayout,但我不断收到此错误: 08-01 02:28:19.385: E/AndroidRuntime(9989): FATAL EXCEPTION: main 08-01 02:28:19.385: E/AndroidRuntime(9989): android.view.InflateException: Binary XML file line #1: Error inflating class com.stevenschoen.putio.CheckableRelativeLayout 08-01 02:28:19.385: E/AndroidRuntime(9989): at android.view.LayoutInflater.createView(LayoutInflater.java:596) 08-01 02:28:19.385: E/AndroidRuntime(9989): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 08-01 02:28:19.385: E/AndroidRuntime(9989): at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 08-01 02:28:19.385: E/AndroidRuntime(9989): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) … 08-01 02:28:19.385: E/AndroidRuntime(9989): Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context, interface android.util.AttributeSet] 08-01 02:28:19.385: E/AndroidRuntime(9989): […]

如何在渲染之前获得textview的行数?

我怎样才能得到一个string将在呈现之前在TextView占用的行数。 ViewTreeObserver将无法正常工作,因为这些只在渲染后触发。

在API 17之前从RelativeLayout中移除规则

在API 17之前,如何从布局中删除规则? 我有一个RelativeLayout与一些孩子。 RelativeLayout是我的活动的主要布局。 以编程方式添加规则后使用 RelativeLayout.LayoutParams layout = (LayoutParams) theChild.getLayoutParams(); layout.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 我需要稍后以编程方式删除规则。 我会如何做这个假设比17更早的API?

Android Studio 2.2预览所有屏幕尺寸丢失

在2.2版本之前的Android工作室在xmldevise屏幕有一个像“预览所有屏幕尺寸”(检查图像)的视图,但我无法在Android Studio 2.2 Beta 2中find。 我的Android Studio版本是: Android Studio 2.2 Beta 2 build设#AI-145.3200535,build于2016年8月18日 JRE:1.8.0_76-release-b03 amd64 JVM:由JetBrains sro提供的OpenJDK 64位服务器虚拟机 你能帮我吗,我该怎么打开它?

如何使用新的Android约束布局来减less视图层次结构

关于如何使用最近在今年的Google I / O上发布的新约束布局,您有什么想法吗?

如何在Android API下使用vector绘图21?

我正在开发一个Android项目,我select了<vector>来显示图标,因为它是可适应性和dynamic的,但是,我只能运行Android API的设备上运行这个应用程序,它具有API 21或更高版本。 我的问题是如何使用较低的Android版本,即API 14或types的<vector> 。 谢谢! <!– drawable/ic_android_debug_bridge.xmlxml –> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="48dp" android:width="48dp" android:viewportWidth="24" android:viewportHeight="24"> <path android:fillColor="@color/primaryColorDark" android:pathData="M15,9A1,1 0 0,1 14,8A1,1 0 0,1 15,7A1,1 0 0,1 16,8A1,1 `0 0,1 15,9M9,9A1,1 0 0,1 8,8A1,1 0 0,1 9,7A1,1 0 0,1 10,8A1,1 0 0,1 9,9M16.12,4.37L18.22,2.27L17.4,1.44L15.09,3.75C14.16,3.28 13.11,3 12,3C10.88,3 9.84,3.28 8.91,3.75L6.6,1.44L5.78,2.27L7.88,4.37C6.14,5.64 5,7.68 5,10V11H19V10C19,7.68 17.86,5.64 16.12,4.37M5,16C5,19.86 8.13,23 12,23A7,7 0 0,0 […]

如何在代码中创build真正的小button?

Android默认的Button类提供了一个非常大的button。 周围有很多浪费的空间。 现在我想创build一个非常小的button,只比文本/标题略大。 如何从代码做到这一点? 到目前为止,我发现了以下方法,但它仍然提供了太大的button,并浪费太多的空间: A.在res / layout中创build一个XML(smallbutton.xml): <?xml version="1.0" encoding="utf-8"?> style="?android:attr/buttonStyleSmall" android:text="color" android:padding="0dp" android:layout_margin="0dp" android:textSize="8dp" android:maxHeight="2dp" android:maxWidth="2dp" /> B.从你的代码膨胀这个并添加到视图: Button pickBackColor = (Button) this.getLayoutInflater().inflate(R.layout.smalbutton,null); … LinearLayout linLayout = new LinearLayout(this); linLayout.addView(pickBackColor); 现在的问题是,button还是太大了,它使用了太多的空间(左侧,右侧,上方,下方)的文字。 任何提示如何进一步减小button的大小?

可以澄清<include>和<merge>的用法

我只需要有人告诉我,如果我正确理解何时使用<include>和何时<merge> 。 所以,我做了一个我想包括到其他XML布局的标题布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Header text" /> </LinearLayout> 我用这种方式将其包含到其他XML中(这是非常基本的): <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <include android:id="@+id/header" layout="@layout/top" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> 这将工作得很好,没有问题。 但为了优化代码,我必须在包含的布局中使用<merge> 。 所以top layout不应该有一个标签<LinearLayout>但它必须是这样的: <merge xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Header text" /> </merge> 我有正确的理解吗?

可靠地获得状态栏的高度来解决KitKat半透明导航问题

我正在尝试新的Android 4.4半透明导航栏,并希望使用FLAG_TRANSLUCENT_NAVIGATION标志将导航栏设置为半透明。 我只希望导航栏(后面,主页button等)是半透明的 – 我希望屏幕顶部的状态栏正常显示,即不透明。 我正在使用的代码是: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window w = getWindow(); w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } 我现在的问题是Android现在认为活动是全屏的,并将布局放置在导航栏的后面(这是正确的),不幸的是,它也将布局放在状态栏后面(一个问题)。 一个hacky修复这将是应用填充顶部的布局父视图,但是我需要确定状态栏的高度来做到这一点。 任何人都可以build议我如何获得状态栏高度,这不像我想象的那样微不足道,或者提出一个适当的解决scheme。 谢谢