Articles of android layout

如果由android设置,则getWidth()返回0:layout_width =“match_parent”

我有一个名为FractalView的类,它扩展了ImageView。 我的目标是用这个具有整个屏幕大小的类来绘制分形。 它是我活动的布局文件中唯一的View,而不是顶级的LinearLayout: 如您所见,我对FractalView和LinearLayout的layout_width和layout_height都使用“match_parent”。 此时我假设FractalView的大小设置为某个值,因为它匹配它的父级,它匹配它的父级(这是整个屏幕)。 然后我尝试使用getWidth()和getHeight()检测FractalView可用的大小: public class FractalView extends ImageView { private Context mContext; private Handler mHandler; private int mScrWidth; private int mScrHeight; public FractalView(Context context) { super(context); mContext = context; init(); } private void init() { mScrWidth = getWidth(); mScrHeight = getHeight(); // Breakpoint } @Override protected void onDraw(Canvas canvas) { […] } […]

在Android中命名资源的最简单方法是什么?

您对资源文件和ID使用哪些命名约定以及它们带来了哪些好处? 例如,最终得到像“activity_settings_location_text_label”这样的视图ID很容易,但很快变得难以管理和混乱。 我没有看到谷歌对此有任何指导,我是否想念它? 资源可以使用分层命名“分组”,但哪种结构最适合每种资源types? 字符串,颜色,尺寸,布局,包括等 我的命名目前是相当临时的,很明显我需要更好的结构(特别是我可以使用IDE的代码完成更容易findID)。

findViewById重新出现错误的元素?

我无法理解为什么findViewById返回错误的元素,这里是类: public class EventDetailsFragment extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.event_details); Log.d(“First”, findViewById(R.id.tuxtView1).getClass().toString()); Log.d(“Second”, findViewById(R.id.tuxtView2).getClass().toString()); Log.d(“Third”, findViewById(R.id.imageView1).getClass().toString()); } } 这是xml: logcat输出是: 12-26 23:43:20.249: D/First(6789): class android.widget.TextView 12-26 23:43:20.249: D/Second(6789): class android.widget.ImageView 12-26 23:43:20.249: D/Third(6789): class android.widget.TextView 所以重点是,为什么我得到一个id为R.id.tuxtView2的imageview和一个id为R.id.imageView1的textview。 如果我想将文本值分配给R.id.tuxtView2,并将其作为TextView进行转换,应用程序将崩溃。

什么是paddingStart和paddingEnd?

由于很少次Eclipse中的自动完成框提出android:paddingStart android:paddingStop,当我编写xml布局文件时。 我真的不明白这些属性应该做什么。 eclipse / javadoc文档实际上没有用处: Sets the padding, in pixels, of the start edge; see padding. Sets the padding, in pixels, of the start edge; see padding. 并且在线文档没有提及这些属性: http : //developer.android.com/reference/android/view/View.html 你能解释一下吗?

检测ListView中的TextView是否为椭圆化

我有一个自定义适配器,在ListView中呈现一些项目。 如果项目的文本是椭圆形的,我需要在ListView的项目上显示一个图标,如果有足够的空间让文本完成,我需要隐藏它。 我可以访问我的适配器的getView方法中的按钮(我设置文本),但是在设置文本时不会立即添加省略号。 有什么方法可以做到这一点吗? 这是我的TextView标记:

以编程方式删除方向限制

在我的清单中,我设置了一个仅限于纵向的活动。 但是我需要在条件上删除这个限制。 那么,如何以编程方式实现删除方向限制? upd:我目前的设置是: /** * Defines whether the device being used is a tablet and if so adds horizontal orientation option. */ protected void _updateScreenOrientationModes(){ if(((MyApplication) getApplication())._isTablet == true) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); }

Android:包含标题和副标题的listitem的默认布局

我创建了一个包含标题和副标题的listitem。 看结果,我觉得它看起来不太专业。 所以这就是我要问的原因。 我正在寻找的列表项很常见(它在很多应用程序中使用,即Android的默认设置菜单,当你在eclipse的图形布局编辑器选项卡中添加listview时也会显示它)。 所以我的问题是:在哪里可以find带有标题和副标题的listitem的默认布局?

在ListView中创建简单的字母滚动?

我想在最新的音乐应用程序中模拟function,即popup的漂亮的小光标,允许人们快速滚动到他们正在寻找的艺术家/专辑/曲目: 有没有一种方法可以在Android SDK的ListView中启用这样的function?

Android TextView有多行

我想要一个应分为4行的TextView。 例如 Vishal Vyas Having 342 Reputation 注意,重力应该是center_horizontal 我试过以下: 这有效! 但产生以下输出: VishalVyas Having 342 Reputation 问题: 它与Vishal和Vyas之间的空间无关。 android:layout_width=”70dp”是带编码的,可以有任意名称,包含n个字符,而不是VishalVyas 。 请指教。 补充:如果我需要编写一个自定义TextView来实现这一点,那就好了,但我需要一些指导。 提前致谢。

突出显示或下划线选定的TabPageIndicator

我在平板电脑大小的横向布局上有双窗格,我正在使用片段。 在左边我有一个带有listview的片段。 当其中一个项目列表发生单击时,右侧片段将加载详细信息。 在右(细节)片段的布局中,有一个com.viewpagerindicator.TabPageIndicator和一个android.support.v4.view.ViewPager. ViewPager将加载2个元素,每个元素都有com.viewpagerindicator.TabPageIndicator 。 我正在尝试突出显示或强调所选标签,但我没有这样做。 我希望你有一些建议:)