小编Mik*_*ter的帖子

如何根据父视图的尺寸调整Android视图的大小

如何根据其父布局的大小调整视图大小.例如,我有一个RelativeLayout填满整个屏幕,我想要一个儿童视图,比如说ImageView,占据整个高度,宽度的1/2?

我试图重写所有的onMeasure,onLayout,onSizeChanged,等我无法得到它的工作....

layout android

100
推荐指数
5
解决办法
15万
查看次数

以编程方式设置视图宽度

我正在尝试在代码中设置视图的宽度和高度,以显示我正在处理的免费应用的广告.除了此广告之外,所有UI都以XML格式完成.以下是显示广告的代码.它在onCreate.

AdView adView = new AdView(this,"ad_url","my_ad_key",true,true);
LinearLayout layout = (LinearLayout) findViewById(R.id.testing);
adView.setAdListener(this);
layout.addView(adView);
Run Code Online (Sandbox Code Playgroud)

这会导致广告显示如下.正如您所看到的,宽度并不完全填满整个页面.

在此输入图像描述

现在,当我将代码更改为此尝试设置大小时:

AdView adView = new AdView(this,"ad_url","my_ad_key",true,true);
LinearLayout layout = (LinearLayout) findViewById(R.id.testing);
adView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 
                       LayoutParams.WRAP_CONTENT));
adView.setAdListener(this);
layout.addView(adView);
Run Code Online (Sandbox Code Playgroud)

我明白了:

在此输入图像描述

我尝试了所有不同的组合,FILL_PARENT并且WRAP_CONTENT所有组合都具有相同的结果.有什么我想念的吗?或者另一种方法,我可以让广告填充设备的宽度而不填充高度?非常感谢任何建议和帮助.

编辑当我尝试将其放入XML时我得到一个例外:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/main_layout">

<fragment
    android:name="com.jasoncrosby.app.tipcalculatorfree.MainButtonFragment"
android:id="@+id/button_frag"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>
<com.adsdk.sdk.banner.AdView
    android:id="@+id/banner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

> 09-09 22:39:43.448: E/AndroidRuntime(586): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jasoncrosby.app.tipcalculatorfree/com.jasoncrosby.app.tipcalculatorfree.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class com.adsdk.sdk.banner.AdView
09-09 22:39:43.448: E/AndroidRuntime(586):  at …
Run Code Online (Sandbox Code Playgroud)

android android-layout mobfox

64
推荐指数
4
解决办法
15万
查看次数

在SQLite中使用UUID

是否可以在SQLite中使用UUID值作为主键?我发现关于这个主题的信息非常有限,所以我不确定SQLite是否支持UUID数据类型.我应该将UUID存储为字符串吗?

sqlite uuid

51
推荐指数
5
解决办法
3万
查看次数

为什么无法控制留下最终陈述?

当我return在一个finally语句块中放置一个时,编译器会告诉我:

控制不能离开finally子句的主体

例:

try
{
}
catch
{
}
finally
{
    return;
}
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

c# try-catch

44
推荐指数
2
解决办法
1万
查看次数

如何获得当前的背景?

我想在我的数组适配器中使用它.当我放入this子活动来创建适配器时,它不起作用.

android

30
推荐指数
3
解决办法
8万
查看次数

InputType = PersonName?

我有一个TextView对象,其目的是键入一个人的名字.我看了看这里,看到这textPersonName是一个输入类型.所以我选择了那种输入类型,认为它会做我想要的.

但是,此输入类型不会将第一个字母大写.由于人们的名字以大写字母开头,我发现这很奇怪.这是故意的,还是Google的设计疏忽?

在任何情况下,我都选择textCapWords了新的输入类型来确保每个单词都开始大写.将此输入类型用于某个人的名字会有任何不利之处吗?使用textPersonName输入类型有什么好处?

android textview

26
推荐指数
2
解决办法
2万
查看次数

创建后台计时器以异步运行

我真的很挣扎.我正在winformsvisual studio中创建一个应用程序,并且需要一个每半小时打一次的后台计时器 - 这样做的目的是从服务器下载更新.

我尝试了几种不同的方法,但是由于教程/示例不好或者我自己的缺点,它们都失败了C#.我认为到目前为止,向我展示我所尝试过的东西将是浪费时间,因为我认为我的尝试远远不够.

有没有人知道一种清晰简单的方法来实现C#新手很容易理解的异步后台计时器?

c# asynchronous timer winforms

22
推荐指数
3
解决办法
4万
查看次数

sqlite中的字符串存储大小

使用大量的经过SQL ServerSQL Server Compact我最近开始使用Sqlite.我目前正在Sqlite中创建表,并注意到在定义字符串列时似乎没有任何需要输入字符串长度限制.在SQL Server255个字符的字符串中,数据类型定义如下:varchar(255).在SQL Server Compact它中定义如下:nvarchar(255).

但是,Sqlite看起来,列数据类型可以简单地定义为text,而不输入任何大小限制.有没有办法在sqlite中定义大小限制?或者这甚至不是必要的?

sqlite

22
推荐指数
2
解决办法
2万
查看次数

以编程方式将片段添加到android中的framelayout

我正在尝试构建一个结合静态和动态元素的UI.为此,我将我的活动划分为片段 - 然后通过替换片段而不是在活动之间导航来完成所有应用程序导航.

在我的主要活动布局中,我使用的是FrameLayout:

<FrameLayout
        android:id="@+id/mainframe"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:layout_below="@id/topsection"
        android:layout_above="@id/lowersection" />
Run Code Online (Sandbox Code Playgroud)

我有一个片段声明如下:

public class MyFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragmentlayout, container, false);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的主要活动(扩展FragmentActivity并使用导入)中android.support.v4.app.FragmentActivity,我试图将此片段加载到框架布局中.

MyFragment myf = new MyFragment();

FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(R.id.mainframe, myf);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

我从许多其他示例中已经遵循了这一点,但是我在transaction.add()命令上收到编译器错误,似乎没有其他人遇到过.

我收到的错误是:The method add(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, MyFragment).

为什么是这样?在 …

android fragment android-framelayout

21
推荐指数
1
解决办法
6万
查看次数

DateTime.Value.ToString(格式)给了我12小时的时钟

这个问题的扩展,我从数据库中提取日期并将其显示在网格中.

我有以下代码:

string date = "";
DateTime? dateSent;    

if (row["DateSent"] != DBNull.Value)
                    dateSent = (DateTime)row["DateSent"];
                else dateSent = null;

date = (dateSent.HasValue ? dateSent.Value.ToString("dd/MM/yyyy hh:mm:ss") : null);
Run Code Online (Sandbox Code Playgroud)

当我在这段代码的末尾添加一个断点时,我可以看到DateTime?变量"dateSent"有一个24小时的时钟时间戳,例如14:50:34.但是,当我检查string变量"date" 的值时- 它有一个12小时的时钟格式,例如02:50:34.

我不打算转换成12小时时钟格式.我有两个问题:

  1. 为什么dateSent.Value.ToString("dd/MM/yyyy hh:mm:ss")返回12小时时钟戳?
  2. 如何避免这种情况并使用24小时制版本?

c#

17
推荐指数
4
解决办法
4万
查看次数